Вопрос № 18553: Для защиты от потенциальных макровирусов при переносе EXCEL файлов между компьютерами использую матрицу, записываемую в текстовый файл. Расширение файла матрицы связано с определённым файлом .xls, содержащим мои макросы. Таким образом при открытии те...
Вопрос № 18553
Для защиты от потенциальных макровирусов при переносе EXCEL файлов между компьютерами использую матрицу, записываемую в текстовый файл. Расширение файла матрицы связано с определённым файлом .xls, содержащим мои макросы. Таким образом при открытии текстовой матрицы запускаются макросы указанного xls - файла, которые переносят данные в электронную таблицу. Как наиболее простым способом получить из VBA for Application имя матрицы, то есть как прочитать коммандную строку? Заранее спасибо.
Отправлен: 21.03.2005, 11:59
Вопрос задал: Gena09 (статус: Посетитель)
Всего ответов отправлено: 1
Отвечает: rusfaq.ru
Здравствуйте, Gena09!
>>как прочитать коммандную строку
В VB есть функция Command, однако в Help'е для VBA написано:
Command Function
Returns the argument portion of the command line used to launch Microsoft Visual Basic or an executable program developed with Visual Basic. The Visual Basic Command function is not available in Microsoft Office applications.
Есть способ с использованием функции GetCommandLineA из Kernel32
Option Base 1
Declare Function GetCommandLineA Lib "Kernel32" () As String
Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 21.03.2005 (.....)
'
'
MsgBox GetCommandLine
End Sub
но у меня excel вылетает с ошибкой при выполнении макроса ;) Может Вам повезёт больше
Ответ отправил: rusfaq.ru (статус: 2-ой класс)
Отправлен: 22.03.2005, 00:38