python - 使用 Python 将范围从一个 Excel 复制到另一个 Excel 时 Range 类的 PasteSpecial 方法失败
问题描述
我正在尝试使用 for 循环将一个范围从一个 excel 电子表格复制到另一个,但不断收到错误消息。我正在使用 win32com 和 python 来制作副本。
这是我的代码片段
params_columns = [1,3,5]
for x in params_columns:
copy_range = "{}2:{}1048576".format(colnum_string(x + 1), colnum_string(x + 1))
excel = Dispatch("Excel.Application")
excel.Visible = 1
source = excel.Workbooks.Open(filepath_first)
excel.Range("A1:A3").Select()
excel.Selection.Copy()
copy = excel.Workbooks.Open(filepath_second)
excel.Range("A1:A3").Select()
# paste type https://docs.microsoft.com/en-us/office/vba/api/excel.xlpastetype
excel.Selection.PasteSpecial(Paste=-4104)
excel.Selection.PasteSpecial(Paste=8)
其中 colnum_string 将列号转换为字符串。
返回的错误如下:
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'Microsoft Excel', 'PasteSpecial method of Range class failed', 'xlmain11.chm', 0, -2146827284), None)
谢谢你的帮助。
解决方案
推荐阅读
- python - Python - 移动和压缩文件和文件夹
- flutter - 如何在flutter项目中使用jar文件
- java - 如何在没有像 Quartz Clustering 这样的集中式解决方案的情况下在分布式环境中实现 cron 作业/计划作业?
- javascript - 如何在获取请求中发送表单数据
- google-cloud-platform - 如何在本地测试 Google Cloud Storage Triggers Cloud Function?
- javascript - 替换字符串的一个字符
- minikube - Minikube pod 卡在等待中:ImagePullBackOff
- docker - Dockerize 示例 dotnet core exe 应用程序到 linux pod 中的 kubernetes
- shell - 如何使用 grep 实用程序处理连续流输出?
- php - PHP / MySql:如果字段为 NULL 或 0,则显示图像 A,如果字段为 1,则显示图像 B