【问题标题】:Print entire list of PDF files打印整个 PDF 文件列表
【发布时间】:2015-03-06 16:16:23
【问题描述】:

我正在创建一个包含许多化学品和相关 .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 文件。

当然,我也希望能够将它们全部打印出来,但我认为如果我知道如何执行上述操作,我可以做到这一点。

感谢您的帮助。

【问题讨论】:

  • 请问什么是 MSDS?
  • 对不起,这只是一个文件,我想我不需要详细说明。

标签: ms-access


【解决方案1】:

执行此操作的代码如下所示:

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形式的文本框,那么上面的代码可以放在一个button click even后面(或者干脆从button click even中调用上面的代码。

以上代码假设您有某种类型的 PDF 阅读器来进行打印。

【讨论】:

  • 谢谢,我还不擅长访问,但我会以此为基础开始,希望我能在不久的将来报告成功。
【解决方案2】:

看看这个: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 CaseIf Then Else 语句来打印您真正想要的内容。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-01-02
  • 1970-01-01
  • 1970-01-01
  • 2016-08-01
  • 1970-01-01
  • 2013-05-25
  • 2014-11-23
相关资源
最近更新 更多