我正在创建一个包含许多化学品的数据库&将.pdf文件与它们的信息相关联。
每种化学品都有一个唯一的ID,并且在同一行中有一个指向网络上的.pdf文件的链接。
此外,每种化学品都有一个分配给它的位置。
我的目标是能够打印与每个位置的化学物质相关的所有.pdf。
例如:
ID Chemical Location PDF-link
1 Acetone Lab-A A:/folder/1.pdf
2 Fire Lab-A A:/folder/2.pdf
1 Acetone Lab-B A:/folder/1.pdf
3 Sponge Lab-B A:/folder/3.pdf
4 Candy Lab-B A:/folder/4.pdf如果我指定Lab-A,我希望它打印两个PDF: 1.pdf,2.pdf。
如果我指定Lab-B,我希望它打印相应的.pdf文件。
当然,我也希望能够将它们全部打印出来,但我认为,如果我知道如何做到以上几点,我就可以做到这一点。
谢谢你的帮助。
发布于 2015-03-07 02:54:21
看看这个:http://www.jpsoftwaretech.com/open-or-print-files-in-vba/
我已经通过在表单上放置一个命令按钮成功地使用了它,例如:
在一个模块中,我放了这个:
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long我的一个命令按钮的OnClick事件是:
PathName1 = "Full path.pdf"
PathName2 = "Full path.rtf"
ExecuteFile PathName1, printfile
ExecuteFile PathName2, printfile您需要设置一条Select Case或If Then Else语句来打印您实际需要的内容。
发布于 2015-03-07 04:13:07
执行此操作的代码将如下所示:
Sub PrintMyPdf()
Dim rst As DAO.Recordset
Dim strSQL As String
strSQL = "select * from tblChem where Location = '" & Me.txtLocation & "'"
Set rst = CurrentDb.OpenRecordset(strSQL)
Do While rst.EOF = -False
Call PrintOnePdf(rst![PDF-link])
rst.MoveNext
Loop
rst.Close
End Sub
Sub PrintOnePdf(strF As String)
CreateObject("Shell.Application").Namespace(0).ParseName(strF).InvokeVerb ("Print")
End Sub上面的代码假设你有一个txtLocation形式的文本框,然后上面的代码可以放在按钮click even后面(或者干脆把上面的代码从按钮click even调用。
上面的代码假设您有某种类型的PDF阅读器,可以进行打印。
https://stackoverflow.com/questions/28902949
复制相似问题