MS Access 中 PDF 的 Web 浏览器控件中的自定义路径

Custom Paths in Web Browser Control for PDFs in MS Access

我想在我的 Access 表单上显示每条单独记录的 PDF 文件。该表单是根据组合框的结果(select 组合框的关键字段)填充的,并且表单会填充来自查询的大量信息。

对于底层 table 中的每个唯一值,都有一个与之相关的 pdf 文件。我想使用 Web 浏览器控件为每个唯一键定义文件路径。例如,

S:\FolderPath\xyz\keyvalue.pdf"

其中 keyvalue.pdf 字面上是表单上文本框的内容,该文本框具有该记录的文本字段源,后跟“.pdf”,因此如果我的键是 1,它将是 1.pdf,如果是A-22ds,文件会是A-22ds.pdf.

假设您有一个带有名为 MyWebbrowserControl 的 Web 浏览器控件的表单,并且您想在其中获取 PDF:

Public Sub LoadPDF(MyPdfLocation As String)
    Dim wb As Object
    Dim strHTML As String
    strHTML = "<html><head><title>My PDF</title></head><body>" & _
    "<embed style=""width:100%;height:100%;"" src=""" & Application.HtmlEncode(MyPdfLocation) & """ type=""application/pdf""></embed></body></html>"
    Set wb = MyWebbrowserControl.Object
    With wb
        .Navigate2 "about:blank"
        Do Until .ReadyState = 4 '=READYSTATE_COMPLETE
            'This is an inefficient way to wait, but loading a blank page should only take a couple of milliseconds
            DoEvents
        Loop
        .Document.Open
        .Document.Write strHTML 
        .Document.Close
    End With
End Sub

(我使用的是非常通用的 HTML,它可能会受益于一些调整)。

他们在 Form_Current 上调用它,例如:

Private Sub Form_Current()
    Dim path As String 
    Dim filename As String 
    path = "S:\MDM\MIRS\SCOPE-MP\" 
    filename = Me.cboPSENumber.Value + "_MP.pdf" 'Final path should be path + filename 
    Me.LoadPDF path & filename
End Sub