是否可以使用openpyxl从excel运行python脚本?

时间:2018-01-25 22:23:37

标签: python excel openpyxl

我正在查看Python的openpyxl modeule文档,但是我找不到任何有关如何使用此模块从excel启动Python脚本的信息。这可能吗?

2 个答案:

答案 0 :(得分:1)

如上所述in the official docsopenpyxl库专门用于读取,编辑和创建Excel 2010文件。因此,该模块本身无法(在编写本文时)使Excel能够运行Python代码。

回答你的问题:不。

答案 1 :(得分:0)

我只是试图做到这一点,并且遇到了这个线程。我知道它很旧,但有499次观看。我最终做到了:

VBA:

boolean allequal = false;
int counter = 0;

while (!allequal) {
    for (short i = 0; i < n; i++) {// subtracting elements
        if (a[i] == minimumOfArraya)
            continue;
        if (a[i] >= b[i]) {
            a[i] -= b[i];
            counter++;
        }
    }
    allequal = true;
    for (short i = 0; i < n; i++) {
        allequal = a[0] == a[i];
        if (!allequal) {
            break;
        }
    }
}

在PyScales.bat中:

Private Sub cmdRunPyScales_Click()
Dim strCommand As String
Dim lngErrorCode As Long
Dim wsh As WshShell
' From the VBA window, click Tools > References. In the pop-up window, check the box next to Windows Script Host Object Model:
    
    Set wsh = New WshShell
    strCommand = Chr(34) & _
                 "C:\Users\cliff\Documents\01 Units\PyScales.bat" & _
                 Chr(34)
    Debug.Print strCommand
    lngErrorCode = wsh.Run(strCommand, _
                           WindowStyle:=1, _
                           WaitOnReturn:=True)
    If lngErrorCode <> 0 Then
        MsgBox "Uh oh! Something went wrong with the batch file!" & lngErrorCode
    End If
    
End Sub

对我有用。