Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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 如何删除xlwings中的列?_Python_Vba_Xlwings - Fatal编程技术网

Python 如何删除xlwings中的列?

Python 如何删除xlwings中的列?,python,vba,xlwings,Python,Vba,Xlwings,我正在Windows(Excel 2007和Python 2.7)上使用xlwings,希望使用xlwings删除范围或列。据我所见,删除范围或列是缺少的功能,因此我尝试按照给出的说明操作,并尝试访问VBA中范围对象的.Delete方法。对于导致错误的原因以及如何删除xlwings中的整列范围,您有什么建议吗 我试图在命令行中运行的代码如下(用于删除活动工作簿中的整列): 我收到了以下错误: bound method CDispatch.Delete of <COMObject <u

我正在Windows(Excel 2007和Python 2.7)上使用
xlwings
,希望使用
xlwings
删除范围或列。据我所见,删除范围或列是缺少的功能,因此我尝试按照给出的说明操作,并尝试访问VBA中范围对象的
.Delete
方法。对于导致错误的原因以及如何删除
xlwings
中的整列范围,您有什么建议吗

我试图在命令行中运行的代码如下(用于删除活动工作簿中的整列):

我收到了以下错误:

bound method CDispatch.Delete of <COMObject <unknown>>>
绑定方法CDispatch.Delete of>

Xlwings
将提供从范围中清除值的可能性(通过
range('C1:C3').clear()
),但这将在工作表中留下一个空范围或列。

访问整个列,然后使用
.xl\u range.Delete():

xw.Range('C:C').xl_range.Delete()

您只缺少结尾处的
()
…Delete()
。或者使用OrangeFlash81的答案。@FelixZumstein我试过了,但在我的机器上不起作用
xw.Range('C1:C3').xl\u Range.EntireColumn
将始终返回一个
。不再有属性
xl\u Range
,但您现在可以用
api
替换它以访问底层pywin32语法()
xw.Range('C:C').xl_range.Delete()