Как преобразовать входящий объект в двоичный файл в Access 2007 VBA? - PullRequest
0 голосов
/ 28 июля 2010

Мне нужно импортировать объекты PDF и XLS и преобразовать их в двоичный файл. Следующий код не работает, по-видимому, потому что "fd.SelectedItems (1)" - это путь к объекту, а не сам объект.

Если я приглушу «fileToUpload» как объект, я получу «Переменную объекта 91 времени выполнения» или «Переменная блока не установлена».

Если я специально не Dim "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) 

1 Ответ

0 голосов
/ 28 июля 2010

Что такое 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) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...