我有以下 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?我该如何翻译它?
最佳答案
看来你可以使用pywin32 Python 的库。我重写了代码,但不确定 TextFileTextQualifier
的值。您可以通过运行 VB 脚本来查看其值(和其他变量)。
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()
关于python - 将 Excel VBA 脚本转换为 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23540768/