首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以只使用文件名,而不是写出整个路径?

是否可以只使用文件名,而不是写出整个路径?
EN

Stack Overflow用户
提问于 2021-08-11 18:15:24
回答 1查看 31关注 0票数 0

是否可以只使用文件名,而不是在第4行和第5行中写出整个路径?

代码语言:javascript
运行
复制
 [1] from win32com import client
 [2] excel = client.Dispatch("Excel.Application")
 [3] word = client.Dispatch("Word.Application")
 [4] doc = word.Documents.Open(r"C:\Users\crist\word_automation\Summary_template\Table1.docx")
 [5] book=excel.Workbooks.Open(r"C:\Users\crist\word_automation\Summary_template\Table1.xlsx")
    sheet = book.Worksheets(1)
    sheet.Range("A1:D5").Copy()    
    wdRange = doc.Content
    wdRange.Collapse(0)
    wdRange.PasteExcelTable(False, True, False) 
    
    import os
    os.remove('Table2.xlsx')
    
    book.SaveAs('Table2.xlsx')
    book.Close()
    excel.Quit()
    doc.SaveAs('TableOne.docx')
    doc.Close()
    word.Quit()

我尝试过这样做,但它给了我一个错误:

代码语言:javascript
运行
复制
doc = word.Documents.Open('Table1.docx')
book = excel.Workbooks.Open('Table1.xlsx')

com_error:(-2147352567,‘出现异常。’,(0,'Microsoft Excel',“抱歉,找不到Table1.xlsx,是否可能被移动、重命名或删除了?”,'xlmain11.chm',0,-2146827284),无“

更新的代码:

代码语言:javascript
运行
复制
from win32com import client
import os
os.chdir(r"C:\Users\crist\word_automation\Summary_template")

excel = client.Dispatch("Excel.Application")
word = client.Dispatch("Word.Application")
doc = word.Documents.Open('Table1.docx')
book = excel.Workbooks.Open('Table1.xlsx')
sheet = book.Worksheets(1)
sheet.Range("A1:D5").Copy()    
wdRange = doc.Content
wdRange.Collapse(0)
wdRange.PasteExcelTable(False, True, False) 

os.remove('Table2.xlsx')

book.SaveAs('Table2.xlsx')
book.Close()
excel.Quit()
doc.SaveAs('TableOne.docx')
doc.Close()
word.Quit()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-11 18:26:45

是的,这是可能的。只需将import os行移动到文件的顶部(在win32com导入之前或之后,这都无关紧要),然后在下一行上放入

代码语言:javascript
运行
复制
os.chdir(r"C:\Users\crist\word_automation\Summary_template")

您现在可以省略发送到word.Documents.open()excel.Workbooks.open()的完整路径,如问题的下半部分所示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68747087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档