本文介绍了将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
发布评论