Позвольте мне начать с того, что я понятия не имею, что я делаю ... Итак, я поручил компании создать код на C #, который пытается просмотреть некоторые папки, и когда появляется новый файл, он вводит файлпуть в виде строки в код Excel VBA.Итак, вот моя проблема.Допустим, путь к файлу - «D: \ testFile», работает приведенный ниже код:
Sub test5(Path As String)
MsgBox Path, vbInformation
End Sub
. В нем отображается окно с сообщением D: \ testFile, а приведенный ниже код работает:
Sub test1()
Workbooks.Open Filename:="D:\testFile"
End Sub
Открывает файл.И, конечно, это также работает:
Sub test2()
Path = "D:\testFile"
Workbooks.Open Filename:=Path
End Sub
И, конечно, это работает:
Sub test3()
Path = "D:\testFile"
X = Path
Workbooks.Open Filename:=X
End Sub
Однако этот код не работает:
Sub test4(Path As String)
X = Path
Workbooks.Open Filename:=X
End Sub
Я думаю,Стоит отметить, что приведенный ниже код также не работает.
Sub test6(Path As String)
MsgBox Path, vbInformation
Workbooks.Open Filename:="D:\testFile"
End Sub
Он отображает MsgBox, но не открывает testFile ... Обратите внимание, что строка, открывающая тестовый файл, не получает никакого вводаиз C # ... так что, если строка с окном сообщений работает ... так должна открываться строка ... Так ... в основном ... Как заставить тест № 4 работать?См. Тест № 4 снова ниже:
Sub test4(Path As String)
X = Path
Workbooks.Open Filename:=X
End Sub
Я думаю, что строка, вводимая из программы на C #, не годится ... но не похоже, что тест № 6 не приведет кРабота.Кроме того, код Excel VBA был сохранен в модуле.Но код C # был создан с помощью тестового файла Excel VBA, который был в листе.Поэтому я сохранил эти коды на листе, чтобы продублировать его тестовый файл (то есть ... щелкните правой кнопкой мыши по Sheet1 и просмотрите код).Насколько я понимаю, это не очень хорошая практика, и конечный продукт должен иметь код Excel VBA в модуле.(просто упомяну это в случае, если это имеет отношение к тому, почему это может не работать) Кроме того, стоит упомянуть, что единственное, что проверял этот внешний кодер, это окно сообщения ... и, конечно, то же самое, что я нашел ..., которое работает.