Sub Example()
Dim fileStream As Object, myFile As Object
Set fileStream = CreateObject("Scripting.FileSystemObject")
Set myFile = fileStream.CreateTextFile("d:\menuFile.cfg", True)
myFile.WriteLine Date
Call F_Example(myFile)
myFile.Close
Set fileStream = Nothing
End Sub
Function F_Example(f As Object)
f.WriteLine Time
End Function
Ссылка на текстовый поток
Я использую Visual Basic в Mircrosoft Excel 2007. Мне надо передавать в функцию ссылку на текстовый файл, чтоб она(функция) могла в него писать через file.WriteLine "xxx"
Я использую
Set fileStream = CreateObject("Scripting.FileSystemObject")
Set file = fileStream.CreateTextFile("d:\menuFile.cfg", True)
как написать функцию, которая будет принимать file? Какого типа надо прописать входной параметр. Пробовал TextStream но не получается.
Код:
Если подключить к проекту библиотеку Microsoft Scripting Runtime, то код может выглядеть так:
Код:
Sub Example2()
Dim fileStream As FileSystemObject, myFile As TextStream
Set fileStream = New Scripting.FileSystemObject
Set myFile = fileStream.CreateTextFile("d:\menuFile.cfg", True)
myFile.WriteLine Date
Call F_Example2(myFile)
myFile.Close
Set fileStream = Nothing
End Sub
Function F_Example2(f As TextStream)
f.WriteLine Time
End Function
Dim fileStream As FileSystemObject, myFile As TextStream
Set fileStream = New Scripting.FileSystemObject
Set myFile = fileStream.CreateTextFile("d:\menuFile.cfg", True)
myFile.WriteLine Date
Call F_Example2(myFile)
myFile.Close
Set fileStream = Nothing
End Sub
Function F_Example2(f As TextStream)
f.WriteLine Time
End Function
Спасибо! Именно то что надо, проверил.