0
Public Sub Run_Calibrate(sector As String)
Dim runString As String
Dim kwargs As String


kwargs = "{" & "'pd_grade_o':" & "[" & _
                   pd_array(0) & ", " & pd_array(1) & ", " & pd_array(2) & ", " & _
                   pd_array(3) & ", " & pd_array(4) & ", " & pd_array(5) & ", " & _
                   pd_array(6) & ", " & pd_array(7) & ", " & pd_array(8) & ", " & _
                   pd_array(9) & ", " & pd_array(10) & ", " & pd_array(11) & "], " & _
              "'ue_rate_6_o':" & "[" & _
                   ue_rate_6_o(0) & ", " & ue_rate_6_o(1) & ", " & ue_rate_6_o(2) & ", " & _
                   ue_rate_6_o(3) & ", " & ue_rate_6_o(4) & ", " & ue_rate_6_o(5) & ", " & _
                   ue_rate_6_o(6) & ", " & ue_rate_6_o(7) & ", " & ue_rate_6_o(8) & ", " & _
                   ue_rate_6_o(9) & ", " & ue_rate_6_o(10) & ", " & ue_rate_6_o(11) & "], " & _
              "'sbli_yoy_o':" & "[" & _
                   sbli_yoy_o(0) & ", " & sbli_yoy_o(1) & ", " & sbli_yoy_o(2) & ", " & _
                   sbli_yoy_o(3) & ", " & sbli_yoy_o(4) & ", " & sbli_yoy_o(5) & ", " & _
                   sbli_yoy_o(6) & ", " & sbli_yoy_o(7) & ", " & sbli_yoy_o(8) & ", " & _
                   sbli_yoy_o(9) & ", " & sbli_yoy_o(10) & ", " & sbli_yoy_o(11) & "], " & _
              "'nfpr_6_o':" & "[" & _
                   nfpr_6_o(0) & ", " & nfpr_6_o(1) & ", " & nfpr_6_o(2) & ", " & _
                   nfpr_6_o(3) & ", " & nfpr_6_o(4) & ", " & nfpr_6_o(5) & ", " & _
                   nfpr_6_o(6) & ", " & nfpr_6_o(7) & ", " & nfpr_6_o(8) & ", " & _
                   nfpr_6_o(9) & ", " & nfpr_6_o(10) & ", " & nfpr_6_o(11) & "], "

kwargs = kwargs & _
         "'60':" & "[" & _
         w_60(0) & ", " & w_60(1) & ", " & w_60(2) & "], " & _
         "'90':" & "[" & _
         w_90(0) & ", " & w_90(1) & ", " & w_90(2) & "], " & _
         "'120':" & "[" & _
         w_120(0) & ", " & w_120(1) & ", " & w_120(2) & "], " & _
         "'150':" & "[" & _
         w_150(0) & ", " & w_150(1) & ", " & w_150(2) & "], " & _
         "'180':" & "[" & _
         w_180(0) & ", " & w_180(1) & ", " & w_180(2) & "]}"

Debug.Print kwargs
runString = Chr(34) & "import DQforecast; DQforecast.calibrate('" & sector & "', " & kwargs & ")" & Chr(34)
Debug.Print runString


RunPython (runString)

End Sub

xlwings は、メソッド呼び出しで渡される kwargs を処理できますか? 私は得る

File "<string>", line 1 
invalid syntax

PYTHON_WIN と PYTHON_PATH が正しくなるように xlwings の設定を構成し、xlwings からのパラメーターなしで関数を正常に実行しました。

4

1 に答える 1

0

docsによると、そうです。

コードの問題は、構文の強調表示自体に反映されています。RunPythoncallの閉じ括弧の前で文字列を閉じていません。次のコードが機能するはずです。

Sub test()
RunPython("import DQforecast; DQforecast.calibrate('OP Dealer')")
end Sub
于 2015-03-02T07:34:16.367 に答える