2017-03-31 6 views
0

私は、Excelブックを変更するためにPythonでwin32comを使用しています。私はセルC6をフリーズしたいが、次のコードはセルP22をフリーズする。私がRangeに与えた実際の価値は問題ではないようです。Excel Freezeペインズマクロの問題

import win32com.client 

excel = win32com.client.DispatchEx('Excel.Application') 
excel.Visible = True 
book = excel.Workbooks.Add() 

excel.Range("C6").Select 
excel.ActiveWindow.FreezePanes = True 

何が問題なのですか?

+0

'xlsxwriter'を使用できますか?それは私のために問題なく動作します。あなたが好きなら、私は答えの例を書くでしょう。 – bernie

+0

私はwin32comを使用するアプリケーションを開発するのにかなり深いので、この時点では切り替える価値はありません。 – PProteus

+0

おそらく、グローバル/ブックレベルの 'Range(" C6 ")'がないので、範囲が含まれているシートを参照していることを確かめてください。代わりに: 'excel.Sheets(1).Range(" C6 ")Selectまたは' excel.Sheets( "Sheet1")Range( "C6")を選択します。 – JNevill

答えて

0

Rangeの値(例:C6)が重要な場合は、Selectの後に括弧()を追加する必要があります。

あなたのコードは、その後であること:私はSelect後に()を追加していないときに私のために

import win32com.client 

excel = win32com.client.DispatchEx('Excel.Application') 
excel.Visible = True 
book = excel.Workbooks.Add() 

excel.Range("C6").Select() #add the() at the end here 
excel.ActiveWindow.FreezePanes = True 

、それはJ20でフリーズします。

よろしくお願いいたします。