java-jacob操作word,往word中动态插入各种文件

  1.录制宏:如图

java-jacob操作word,往word中动态插入各种文件java-jacob操作word,往word中动态插入各种文件

java-jacob操作word,往word中动态插入各种文件

java-jacob操作word,往word中动态插入各种文件录制宏-- 

 java-jacob操作word,往word中动态插入各种文件将宏的名字改为insertDocFile---确定

java-jacob操作word,往word中动态插入各种文件

第二步:

java-jacob操作word,往word中动态插入各种文件

java-jacob操作word,往word中动态插入各种文件插入对象---java-jacob操作word,往word中动态插入各种文件选择一个doc文件

java-jacob操作word,往word中动态插入各种文件java-jacob操作word,往word中动态插入各种文件

java-jacob操作word,往word中动态插入各种文件


点击确认

接着就是停止宏

java-jacob操作word,往word中动态插入各种文件


第三步就是:查看宏:

java-jacob操作word,往word中动态插入各种文件java-jacob操作word,往word中动态插入各种文件java-jacob操作word,往word中动态插入各种文件

java-jacob操作word,往word中动态插入各种文件

点击编辑:

出来的是vba(visual basical application)的编辑页面,就是到代码一层了

java-jacob操作word,往word中动态插入各种文件

接下来就是修改下这个vb的函数,修改完后就是这个样子了:

Sub insertDocFile(filePath As String, fileName As String)
'
' insertDocFile 宏
'
'
    Selection.InlineShapes.AddOLEObject ClassType:="Word.Document.8", fileName _
        :=filePath, LinkToFile:=False, _
        DisplayAsIcon:=True, IconFileName:= _
        "C:\Windows\Installer\{90160000-000F-0000-0000-0000000FF1CE}\wordicon.exe" _
        , IconIndex:=1, IconLabel:=fileName
End Sub


就是将文件的绝对路劲写在fileName_:=这个后面,然后IconLabel:=后面是文件名,为什么要这样做,接着往下看


接下来最关键的一步就是你要通过jacob来操作这个宏,传递两个参数,一个是文件路径,一个是文件名,就能将本地的文件插入到当前的word文档中去了

最关键的一个代码就是这句了:Dispatch.call(word, "Run", new Variant(macorsName),new Variant(putInDocPath),new Variant(fileName));三个参数宏名macorsName,第二个就是文件路径:putInDocPath,第三个是文件名称

java-jacob操作word,往word中动态插入各种文件


代码里面有几个比较实用的类jacob.java

java-jacob操作word,往word中动态插入各种文件

jacob搭建的环境:http://www.cnblogs.com/rabbit1991/archive/2013/04/26/3045216.html

有问题欢迎来交流,qq1583618895

http://download.csdn.net/detail/lesliehu2158/9893697