一段用powershell操作office word的代码,在这台win7 64位的系统上直接双击ps1脚本文件能正常运行,但是一通过其他语言(actionscript 3)来调用执行就会报错,值得注意的是,在另一台win7 64位电脑上无论直接双击还是用actionscript 3调用都没问题。
已经排除权限问题,值得注意的是,在另一台win10电脑上也遇到同样的报错。 ![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/554387344876189.png?x-oss-process=image/auto-orient,1/resize,w_320,m_lfit)
# 加载Word应用程序
$word = New-Object -ComObject Word.Application
#$word.visible=$true
# 打开文档
$doc = $word.Documents.Add()
# 设置页面边距
$section = $doc.Sections.Item(1)
$section.PageSetup.LeftMargin = 36
$section.PageSetup.RightMargin = 36
$section.PageSetup.TopMargin = 36
$section.PageSetup.BottomMargin = 36
#获取文档object
$Section = $doc.Sections.Item(1);
#获取页眉
$Header = $Section.Headers.Item(1);
#获取页脚
$Footer = $Section.Footers.Item(1);
#设置页眉页码
$myDoc=$word.Selection
$myDoc.TypeText("111111") #processArgs[4]
$myDoc.TypeText("2222222") #processArgs[5]
$myDoc.TypeText("333
3333") #processArgs[6]
# 插入空白页
$selection = $word.Selection
$selection.InsertNewPage()
# 将光标移动到文档结尾
$selection.EndKey([Microsoft.Office.Interop.Word.WdUnits]::wdStory)
# 保存并关闭文档
$doc.SaveAs([ref]"C:\myMergeDoc.docx")
$doc.Close()
# 关闭Word应用程序
$word.Quit()
报错内容如下(因为是从flash里面输出的报错信息,所以内容可能会和PS直接输出的有点不一样,主要就是多了几个as3那边的变量,比如process error ,以及process 都是as3的变量可以忽略):
process error :不能对值为空的表达式调用方法。
process error :所在位置 D:\2023年3月7日_测_as3直接操作ps写word\bin\createWord2.ps1:5 字符: 27
+ $doc = $word.Documents.Add |