与标题中一样,我需要通过.docx文件调用来打开Word进程。使用cmd
,我可以输入test.docx
,然后文件立即在Word中打开。但是,如果我使用
cmd := exec.Command(`test.docx`)
err := cmd.Start()
if err != nil {
log.Fatalln(err)
}
字处理未启动。相反,我收到一个错误:
fork/exec .test.docx: %1不是有效的Win32应用程序。
我也试过
cmd := exec.Command(`cmd.exe`, `C`, `start`, `.test.docx`)
但是它也不工作。
有办法吗?如有任何帮助,我将不胜感激。
我进行了更多的调查,并找到了一个解决方案,使用PowerShell代替。然而,这只对有PowerShell(当然)
的系统有效。cmd_instance := exec.Command("powershell.exe", "Start-Process", "-FilePath", `.test.docx`, "-WindowStyle", "Hidden")
if err := cmd_instance.Start(); err != nil {
log.Println(err)
}
通过使用这个,我可以调用Word进程而不调用PowerShell终端。
我不知道"但是,如果你可以调用MS Word的绝对路径,你可以试试这个:
"C:Program Files (x86)Microsoft OfficerootOffice16WINWORD.EXE" 'C:SupportFile.docx'
在PowerShell中,我这样调用:
& "C:Program Files (x86)Microsoft OfficerootOffice16WINWORD.EXE" 'C:SupportFile.docx'