通过vba打开记事本

时间:2018-03-02 16:35:25

标签: vba excel-vba excel

我是第一次尝试这样做,最近开始研究vba。所以请帮我弄明白我哪里错了。 我试图通过宏打开记事本,但它显示错误。请在下面找到我正在使用的代码:

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

尝试了

 set OFS = myOFSO.OpenTextFile(strfilename) 

正在显示

  

错误代码424

请提供您的意见。在此先感谢您的帮助。

5 个答案:

答案 0 :(得分:3)

可以调用shell命令以文件路径执行notepad.exe。

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

答案 1 :(得分:0)

尝试这种方法

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

答案 2 :(得分:0)

下面的代码将帮助您从excel打开记事本。

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

答案 3 :(得分:0)

使用默认程序打开任何文件,其文件类型为: (使用单行代码)

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

如果要对尚未与应用程序关联的文件类型使用此方法:

  • Windows Key (Windows键)
  • 开始键入 default
  • 点击“ 默认应用”(Windows 10)或“ 默认程序”(Windows 7

答案 4 :(得分:0)

如果您要创建一个新的文本文件并写入其中,则可以使用以下方法:

form = CreateManifestForm(initial={'reference': Orders.objects.get(id=reference_id)})