VB открывает определенную версию Excel, когда установлены две

Я смотрю на этот фрагмент кода, который я получил из здесь, потому что я хотел бы используй это. Проблема в том, что я использовал 2003 год для создания файла «test.xls», но когда я запускаю этот код, он открывается в 2007 году. Есть ли способ заставить его открываться в определенной версии Excel, а не по умолчанию?

GoSub, GuiOpen
pweb := COM_AtlAxCreateControl(WinExist(), A_Temp . "\test.xls")
pxlb := COM_Invoke(pweb, "Document")      ; Excel Workbook
pxls := COM_Invoke(pxlb, "Worksheets", 1)   ; Excel Worksheet
Return

GuiOpen:
Gui, +Resize +LastFound
Gui, Show, w800 h600 Center, Excel
COM_AtlAxWinInit()
Return
GuiClose:
Gui, Destroy
COM_Invoke(pxlb, "Save")
COM_Release(pxls)
COM_Release(pxlb)
COM_Release(pweb)
COM_AtlAxWinTerm()
ExitApp

person Geoff    schedule 30.07.2010    source источник


Ответы (1)


Это связано с тем, как этот файл связан с Windows... попробуйте это в открытой папке:

Инструменты > Параметры папки > Типы файлов

Найдите файл xls и измените, какая программа его открывает. Если вы не найдете его, просто добавьте его и соответствующим образом измените его параметры.

person RaptorX    schedule 31.07.2010
comment
Расширение назначено правильно, если я дважды щелкну файл, он откроется с 2003, а когда я дважды щелкну файлы xlsx, они откроются с 2007. Проблема возникает, когда я пытаюсь открыть его программно. Это касается не только открытия файлов, если я хочу создать объект Excel.Application, он всегда будет создавать 2007 год, я не могу заставить его открыть объект Excel.Application в 2003 году. - person Geoff; 01.08.2010