如何以编程方式更改Word文档中的图像URL

时间:2009-01-09 14:46:37

标签: java python image ms-word

我有一组word文档,其中包含很多非嵌入图像。图像指向的URL不再存在。我想以编程方式将网址的域名更改为其他内容。我怎样才能用Java或Python来做这件事?

4 个答案:

答案 0 :(得分:1)

这是VBA的用途:

Sub HlinkChanger()
Dim oRange As Word.Range
Dim oField As Field
Dim link As Variant
With ActiveDocument
.Range.AutoFormat
For Each oRange In .StoryRanges
        For Each oFld In oRange.Fields
            If oFld.Type = wdFieldHyperlink Then
                For Each link In oFld.Result.Hyperlinks
                    // the hyperlink is stored in link.Address
                    // strip the first x characters of the URL
                    // and replace them with your new URL
                Next link
            End If
        Next oFld
    Set oRange = oRange.NextStoryRange
Next oRange

答案 1 :(得分:0)

也许Microsoft Office Word binary file format specification可以帮助你,虽然已经做过这样的事情的人可能会得到更好的答案。

答案 2 :(得分:0)

您希望在Java或Python中执行此操作。试试OpenOffice。 在OpenOffice中,您可以将Java或Python代码作为“Makro”插入。

我确信有可能更改图片网址。

答案 3 :(得分:0)

VBA答案是最接近的,因为这最好使用Microsoft Word COM API完成。但是,您也可以使用Python。我自己用它将数据从数百种Word文档形式导入数据库。

This article解释了基础知识。请注意,即使它为WordDocument COM对象创建了一个类包装器,如果您不想这样做,也不需要这样做。您可以直接访问COM API。

有关WordDocument COM API的文档,请打开word文档,按Alt-F11打开VBA编辑器,然后按F2查看对象浏览器。这允许您浏览所有对象及其提供的方法。 Python和COM对象模型is found here的介绍。