Как я использую FileSystemObject в VBA?

Есть ли что-то, на что я должен сослаться? Как делают я использую это:

Dim fso As New FileSystemObject
Dim fld As Folder
Dim ts As TextStream

Я получаю ошибку, потому что она не распознает эти объекты.

105
задан Andrei Konstantinov 27 May 2019 в 08:46
поделиться

2 ответа

Внутри Excel необходимо установить ссылку на библиотеку времени выполнения сценария VB. Соответствующий файл обычно находится по адресу \Windows\System32\scrrun.dll

  • Чтобы сослаться на этот файл, загрузите программу Visual Basic Editor (ALT+F11)
  • Выберите Tools > References из выпадающего меню
  • Появится список доступных ссылок
  • Поставьте галочку напротив 'Microsoft Scripting Runtime'
  • Полное имя и путь к scrrun. dll будут отображены ниже поля списка
  • Нажмите кнопку OK.

Это также можно сделать непосредственно в коде, если включен доступ к объектной модели VBA.

Доступ можно включить, установив флажок Доверительный доступ к объектной модели проекта VBA по адресу Файл > Параметры > Центр доверия > Настройки центра доверия > Настройки макросов

VBA Macro settings

Чтобы добавить ссылку:

Sub Add_Reference()

    Application.VBE.ActiveVBProject.References.AddFromFile "C:\Windows\System32\scrrun.dll"
'Add a reference

End Sub

Чтобы удалить ссылку:

Sub Remove_Reference()

Dim oReference As Object

    Set oReference = Application.VBE.ActiveVBProject.References.Item("Scripting")

    Application.VBE.ActiveVBProject.References.Remove oReference
'Remove a reference

End Sub
171
ответ дан 24 November 2019 в 03:59
поделиться

У этих ребят есть отличные примеры того, как использовать объект файловой системы http://www.w3schools.com/asp/asp_ref_filesystem.asp

<%
dim fs,fname
set fs=Server.CreateObject("Scripting.FileSystemObject")
set fname=fs.CreateTextFile("c:\test.txt",true)
fname.WriteLine("Hello World!")
fname.Close
set fname=nothing
set fs=nothing
%> 
12
ответ дан 24 November 2019 в 03:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: