Не удалось найти устанавливаемый ISAM при импорте таблицы доступа в Excel - PullRequest
0 голосов
/ 22 декабря 2011

У меня есть модуль, который импортирует таблицу доступа в MS Office Excel. Этот модуль был реализован почти 6 месяцев и работал хорошо, но вдруг вчера модуль начал выдавать сообщение об ошибке «Внешняя таблица не в ожидаемом формате»

Я искал ответ на этом сайте и обнаружил, что для Excel 2007 я должен использовать синтаксис «Excel 12.0», а не «Excel 8.0». Я изменил свой скрипт и получил новое сообщение об ошибке: «Не удалось найти устанавливаемый ISAM» (код ниже)

Другая информация: Я пытаюсь открыть созданный файл Excel и получил предупреждение:
"Файл, который вы пытаетесь открыть, 'bppdan.xls', имеет другой формат, чем тот, который указан расширением файла. Перед открытием файла убедитесь, что файл не поврежден и получен из надежного источника. хотите открыть файл сейчас? "

Итак ... Я решил изменить код (показанный ниже), и я не получаю сообщение об ошибке «Внешняя таблица не в ожидаемом формате» или «Не удалось найти устанавливаемый ISAM» Я действительно хочу знать, что является причиной этих двух сообщений об ошибках

Мне очень нужна твоя помощь

(In VB 6 Application) In menu: Project -> References, I checked the option "Microsoft Excel 12.0 Object Library"

Этот код генерирует «Внешняя таблица не в ожидаемом формате»


    Dim dbDest As Database

    FName = ExcelApp.GetSaveAsFilename(, "Excel (*.xls),*.xls", , "Save to Excel")
    If FName = False Then Exit Sub
    Set dbDest = OpenDatabase(FName, False, False, "Excel 8.0;HDR=NO;")

Этот код генерирует "Не удалось найти устанавливаемый ISAM"


    Dim dbDest As Database

    FName = ExcelApp.GetSaveAsFilename(, "Excel (*.xls),*.xls", , "Save to Excel")
    If FName = False Then Exit Sub
    Set dbDest = OpenDatabase(FName, False, False, "Excel <b>12.0</b>;HDR=NO;")

Я изменил код:


    Dim dbDest As Database

    FName = ExcelApp.GetSaveAsFilename(, "Excel (*.xls),*.xls", , "Save to Excel")
    If FName = False Then Exit Sub
    Set dbDest = OpenDatabase(<b>"C:\Users\administrator\Desktop\my.xls"</b>, False, False, "Excel 8.0;HDR=NO;")

1 Ответ

0 голосов
/ 06 января 2012

Наконец, у нашего старшего разработчика есть решение (yippie!) Вот что она делает:

  1. Она изменила код для подготовки рабочего листа, добавила формат файла
    Таким образом, код меняетсяс

Set ExcelWkb = ExcelApp.Workbooks.Add<br> ExcelWkb.SaveAs FName

становится

Set ExcelWkb = ExcelApp.Workbooks.Add<br> ExcelWkb.SaveAs FName<b>, xlExcel5</b>


  1. Она изменила код для подключения Итак кодизменяется от

Set dbDest = OpenDatabase(FName, False, False, "Excel 8.0;HDR=NO;")

становится

Set dbDest = OpenDatabase(FName, False, False, <b>"Excel 5.0;"</b>)

...