Подскажите пожалуйста как закрыть текстовый файл на VBA. Я сделал код который создает файл и открывает.
Но я не знаю:
1.Как закрыть текстовый файл ?
ВОТ КОД:
Код
Option Explicit
Sub TEST()
Dim fso As FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile (ThisWorkbook.Path & "\linx_create_txt_for_txtdelenia_temporar.txt")
Shell "NotePad linx_create_txt_for_txtdelenia_temporar", vbNormalFocus
End Sub
Мне не так важно сохранять структуру кода моя задача открыть файл для пользователя и сохранив закрыть его.
Public Sub Close_Notepad_ByName(NtpPath As String)
Dim oServ As Object
Dim cProc As Object
Dim oProc As Object
Dim strProcessName
strProcessName = "Notepad.exe"
Set oServ = GetObject("winmgmts:")
Set cProc = oServ.ExecQuery("select * from win32_process")
For Each oProc In cProc
If InStr(1, oProc.Name, strProcessName, vbTextCompare) <> 0 Then ' check if Notepad
If InStr(1, oProc.commandLine, NtpPath, vbTextCompare) <> 0 Then ' check Path
oProc.Terminate
End If
End If
Next
Set oServ = Nothing
Set cProc = Nothing
End Sub
Sub test()
Dim StrPath As String
StrPath = "C:\Users\Fedor\Desktop\wx.txt"
Call Close_Notepad_ByName(StrPath)
End Sub
Public Sub Close_Notepad_ByName(NtpPath As String)
Dim oServ As Object
Dim cProc As Object
Dim oProc As Object
Dim strProcessName
strProcessName = "Notepad.exe"
Set oServ = GetObject("winmgmts:")
set cProc = oServ.ExecQuery("select * from win32_process where name='" & strProcessName & "' and СommandLine like '%" & NtpPath & "'")
For Each oProc In cProc
oProc.Terminate
Next
Set oServ = Nothing
Set cProc = Nothing
End Sub