Откройте блокнот через vba

Я пытаюсь сделать это впервые, и недавно начал работать над VBA. Поэтому, пожалуйста, помогите мне понять, где я иду не так. Я пытаюсь открыть блокнот через макрос, но он показывает ошибку. Пожалуйста, найдите ниже код, который я использую:

const strfilename = "C:\Users\Desktop\abc.txt"

попробовал с

 set OFS = myOFSO.OpenTextFile(strfilename) 

Это отображение

код ошибки 424

Пожалуйста, предоставьте ваш вклад. Заранее спасибо за помощь.

3 ответа

Можно просто вызвать команду оболочки для запуска notepad.exe с путем к файлу.

returnvalue = Shell("notepad.exe " & strfilename, vbNormalFocus)

Откройте любой файл с программой по умолчанию для типа файла: (с одной строкой кода)

CreateObject("Shell.Application").Open("c:\Users\Desktop\abc.txt")

Если вы хотите использовать этот метод с типом файла, который еще не связан с приложением:

  • Нажмите Windows Key(Клавиша Windows)
  • Начать печатать default
  • Нажмите "Приложения по умолчанию" (Windows 10) или "Программы по умолчанию" (Windows 7).

Ниже код поможет вам открыть блокнот из Excel.

Dim fso As Object
Dim sfile As String
Set fso = CreateObject("shell.application")
sfile = "C:\Users\Universal\Desktop\test.txt"
fso.Open (sfile)

Попробуйте этот подход

Sub Test()
Dim strCont     As String

strCont = LoadFileStr$(ThisWorkbook.Path & "\Sample.txt")
Range("A1").Value = strCont
End Sub

Function LoadFileStr$(FN$)
With CreateObject("Scripting.FileSystemObject")
    LoadFileStr = .OpenTextFile(FN, 1).readall
End With
End Function

Если вы хотите создать новый текстовый файл и хотите писать в нем, вы можете использовать этот подход:

Sub writeToTextFile()
    Dim i As Long
    Open ThisWorkbook.Path & "\newFile.txt" For Output As #1

    Print #1, "This could be the first line"
    Print #1, "this the second"

    For i = 3 To 10
        Print #1, "this is the " & i & ". line"
    Next

    Close #1
End Sub
Другие вопросы по тегам