Binary 如何在Access 2007 VBA中将传入对象转换为二进制?
我需要导入PDF和XLS对象并将它们转换为二进制文件。下面的代码不起作用,显然是因为fd.SelectedItems1是对象的路径,而不是对象本身 如果将fileToUpload设置为对象,则会得到一个运行时“91”对象变量或未设置块变量 如果我没有特别调暗fileToUpload,当我到达下面的最后一行时,我会得到所需的运行时“424”对象 有人知道这些神奇的词语吗Binary 如何在Access 2007 VBA中将传入对象转换为二进制?,binary,ms-access-2007,Binary,Ms Access 2007,我需要导入PDF和XLS对象并将它们转换为二进制文件。下面的代码不起作用,显然是因为fd.SelectedItems1是对象的路径,而不是对象本身 如果将fileToUpload设置为对象,则会得到一个运行时“91”对象变量或未设置块变量 如果我没有特别调暗fileToUpload,当我到达下面的最后一行时,我会得到所需的运行时“424”对象 有人知道这些神奇的词语吗 Dim fd As FileDialog Dim ImageToBytes() As Byte Dim ImageC
Dim fd As FileDialog
Dim ImageToBytes() As Byte
Dim ImageCode As String
FilePickerControl = False
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.AllowMultiSelect = False
If fd.Show = -1 Then
FileToUpload = fd.SelectedItems(1)
End If
ImageToBytes = System.IO.File.ReadAllBytes(FileToUpload)
FileToUpload应该是什么?如果将其暗显为对象,则需要对其进行设置,即将FileToUpload=fd.SelectedItems1,但我认为这不一定是正确的,据我所知,fd.SelectedItems1将返回一个具有文件名/路径的字符串值,而不是实际的文件对象。在我看来,它应该是一根绳子 也许这会奏效:
Dim fd As FileDialog
Dim strFileToUpload As String
Dim ImageToBytes() As Byte
Dim ImageCode As String
FilePickerControl = False
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.AllowMultiSelect = False
If fd.Show = -1 Then
strFileToUpload = fd.SelectedItems(1)
End If
ImageToBytes = System.IO.File.ReadAllBytes(strFileToUpload)
大卫,非常感谢你的回复。当我到达最后一行时,我得到了所需的运行时'424'对象。strFileToUpload是路径,我想我需要strFileToUpload作为PDF对象本身。我不知道System.IO.File.ReadAllBytes是什么,所以您必须了解ReadAllBytes对其数据结构的期望。我怀疑这里混合了文件系统对象代码,您可能需要来自FSO的文件对象。但我只是在猜测。