2011-12-22 2 views
0

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

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

Других данные: Я пытаюсь открыть файл первенствовать создан и получил предупреждающее сообщение:
«Файл вы пытаетесь открыть, «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 12.0;HDR=NO;") 

Я изменил код: (! Юппи)


    Dim dbDest As Database 

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

Вы должны размещать строку подключения и немного кода. – Fionnuala

+0

Уважаемый Remou ... спасибо за ваш совет, я размещаю код и связь .. Надеюсь, что вы можете мне помочь –

+0

Я боюсь, что этого недостаточно.Вы используете этот код в Access, да? Итак, вы экспортируете из Access в Excel? Открываете ли вы существующий файл Excel? Если вы работаете с Access, есть ли причина, по которой вы не используете TransferSpreadsheet? Почему вы открываете (?) Excel в качестве базы данных? – Fionnuala

ответ

0

Наконец, наш старший разработчик имеет решение Это то, что она делает:

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

Set ExcelWkb = ExcelApp.Workbooks.Add
ExcelWkb.SaveAs FName

становится

Set ExcelWkb = ExcelApp.Workbooks.Add
ExcelWkb.SaveAs FName, xlExcel5


  1. Она модифицировал код для подключения Так изменения кода от

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

становится

Set dbDest = OpenDatabase(FName, False, False, "Excel 5.0;")

Смежные вопросы