python - 将 Excel VBA 脚本转换为 Python

标签 python vb.net vba excel

我有以下 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/

相关文章:

excel - 创建 Excel 宏来填充值

vb.net - GetPrivateProfileString() 返回空字符串,尽管有默认值

asp.net - 如何防止用户重新提交表单?

vba - 嵌套的 "if"和使用 "if x and y and z and .."在速度方面有区别吗?

python - 在嵌套列表python中连接项目

c# - 哪些新的 C#/VB 功能需要 .net Framework 4?

excel - 我的 VBA 代码覆盖了我的最后一行。如何编写代码以将新信息放在下一个空行上?

python - 如何查看 TensorFlow session 的默认配置选项?

python - 无法列出播放列表中的 YouTube 视频

python - 删除带有条件的列表中的字典