我需要导入PDF和XLS对象并将它们转换为二进制文件。以下代码不起作用,显然是因为“fd.SelectedItems(1)”是对象的路径而不是对象本身。
如果我将“fileToUpload”调暗为一个对象,我会得到一个“运行时'91'对象变量或者没有设置块变量”。
如果我没有专门暗淡“fileToUpload”,当我到达下面的最后一行时,我得到“运行时间'424'对象需要”。
任何人都知道这些神奇的词语吗?
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)
答案 0 :(得分:0)
FileToUpload应该是什么?如果你将它调暗为一个对象,你需要设置它,即SET FileToUpload = fd.SelectedItems(1),但我认为这不一定是正确的事情,就我所知,fd.SelectedItems(1) )将返回一个具有文件名/路径的字符串值,而不是实际的文件对象。在我看来它应该是一个字符串。
也许这会奏效:
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)