将Excel VBA脚本转换为Python [英] Translating Excel VBA script to Python
本文介绍了将Excel VBA脚本转换为Python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下VBA脚本:
Sub excelgraphme()
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\DRIVE D\graphme\result.txt", Destination:=Range("$A$1"))
.TextFilePlatform = 866
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
有人可以帮助我翻译pywin32吗?首先,我应该用vb语句做什么:WITH END WITH?我该如何翻译?
Can someone help me with translating with pywin32? And first of all, what should I do with vb statement: WITH END WITH? How i can translate it?
推荐答案
似乎您可以使用 pywin32 Python的库.我重写了代码,但不确定 TextFileTextQualifier
的值.您可以通过运行VB脚本查看其值(和其他变量).
It seems you can use pywin32 library for Python. I rewrote the code, but not sure about the value of TextFileTextQualifier
. You can see its value (and other variables) by running your VB script.
import win32com.client
excel = win32com.client.Dispatch("Excel.Application")
ws = excel.Workbooks.Add().Worksheets(1)
qtNew = ws.QueryTables.Add( "TEXT;C:\\DRIVE D\\graphme\\result.txt", ws.Range("A1"))
qtNew.TextFilePlatform = 866
qtNew.TextFileStartRow = 1
qtNew.TextFileParseType = 1
qtNew.TextFileTextQualifier = 1
qtNew.TextFileConsecutiveDelimiter = False
qtNew.TextFileTabDelimiter = True
qtNew.TextFileSemicolonDelimiter = False
qtNew.TextFileCommaDelimiter = False
qtNew.TextFileSpaceDelimiter = False
qtNew.TextFileColumnDataTypes = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
qtNew.TextFileTrailingMinusNumbers = True
qtNew.Refresh()
这篇关于将Excel VBA脚本转换为Python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文