Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python在Word文档中的特定点插入文件_Python_Ms Word_Win32com - Fatal编程技术网

使用Python在Word文档中的特定点插入文件

使用Python在Word文档中的特定点插入文件,python,ms-word,win32com,Python,Ms Word,Win32com,我有一个HTML表,我正试图插入到Word文档中。这段代码在文档的开头插入表,除了位置之外,它看起来很棒。我需要能够为表指定一个位置。如果有办法让代码使用标记作为表的插入点,我可以修改文档以包含某种标记。谢谢 import win32com.client def InsertTable(LetterPath, TablePath): app = win32com.client.DispatchEx("Word.Application") app.Visible = 0 a

我有一个HTML表,我正试图插入到Word文档中。这段代码在文档的开头插入表,除了位置之外,它看起来很棒。我需要能够为表指定一个位置。如果有办法让代码使用标记作为表的插入点,我可以修改文档以包含某种标记。谢谢

import win32com.client
def InsertTable(LetterPath, TablePath):
    app = win32com.client.DispatchEx("Word.Application")
    app.Visible = 0
    app.DisplayAlerts = 0
    app.Documents.Open(LetterPath)
    app.Selection.InsertFile(TablePath)
    app.ActiveDocument.Close(SaveChanges=True)
    app.Quit()

您正在选择点(
app.selection.InsertFile(TablePath)
)插入,默认情况下,该点似乎位于文档的开头。因此,您需要找到一种方法来更改选择或在不同的对象上执行
InsertFile
。在我看来,您可以使用移动选择。您可以使用指定要转到的对象的类型。让我知道这是怎么回事,因为我只是根据谷歌搜索猜测。谢谢,你的建议是有道理的,但我在尝试时遇到了麻烦。我在微软的Selection.GoTo页面上看到的唯一示例似乎是在VB中使用它。我在用Python工作时遇到语法问题。我是个初学者。以下是我尝试过的一些变体。第一个是微软网站上的例子:--app.Selection.GoTo What:=wdGoToField,Name:=“TableField”--app.Selection.GoTo(What:=wdGoToField,Name:=“TableField”)--app.Selection.GoTo(What=“wdGoToField”,Name=“TableField”)--app.Selection.GoTo(“wdGoToField”,“TableField”)最后在“InsertFile”之前添加了这一行行,以便将选择位置更改为我在文档中放置“TableMarker”的位置。。。app.Selection.Find.Execute(“TableMarker”,False,False,False,False,True,0,False,”,1)