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
我想在我的 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