答えがhereと[win32apiはこれを行うことができるはずです。私は実際には、単に、でファイルを読み込むxlutils
をコピーし、そしてxlwt
とそれを吐き出しパイソンPythonを使ってvbaモジュールを削除しますか?
答えて
を使用してExcelワークブック(.XLS)からすべてのモジュールを削除したい
は(VBAを削除し、他のもの):
import xlrd, xlwt
from xlutils.copy import copy as xl_copy
rb = xlrd.open_workbook('/path/to/fin.xls')
wb = xl_copy(rb)
wb.save('/path/to/fou.xls')
Pythonのwin23com.client
モジュールでアクセスCOMインターフェイスで利用可能なVBComponents collectionを使用することを検討してください。しかし、特定のワークブック内では、最初にprogrammatic access to the VBA object libraryを付与する必要があります。
また、シート(Type = 100
)とワークブック(Type = 100
)を含むオブジェクトモジュールを削除できないため、条件付きでタイプを設定する必要があります。標準モジュール(Type = 1
)、クラスモジュール(Type = 2
)、ユーザーフォーム(Type= 3
)、およびその他の挿入コンポーネントのみを削除できます。もちろん、削除するモジュールの定義済みのリストを反復処理することもできます。 Try/Except
ステートメントは、スクリプトが失敗したかどうかにかかわらず、Excel.Applicationプロセスを効果的に終了させるために使用されます。
import win32com.client
# OPEN EXCEL APP AND WORKBOOK
xlApp = win32com.client.Dispatch("Excel.Application")
xlwb = xlApp.Workbooks.Open("C:\\Path\\To\\Workbook.xlsm")
# ITERATE THROUGH EACH VB COMPONENT (CLASS MODULE, STANDARD MODULE, USER FORMS)
try:
for i in xlwb.VBProject.VBComponents:
xlmodule = xlwb.VBProject.VBComponents(i.Name)
if xlmodule.Type in [1, 2, 3]:
xlwb.VBProject.VBComponents.Remove(xlmodule)
except Exception as e:
print(e)
finally:
# CLOSE AND SAVE AND UNINITIALIZE APP
xlwb.Close(True)
xlApp.Quit
xlApp = None
非常に興味深い。私は今日まで試され、それがうまくいくと受け入れます - それは私が望んでいたものと正確に見えます。 –
テストで不運?ワークブックにプログラムによるアクセスを許可するようにしてください。 – Parfait
- 1. python svnモジュールを使ってSVNリモートリポジトリからファイルを削除する方法
- 2. python globモジュールでワイルドカードを使用してファイルを削除する
- 3. すべてのVBAモジュールをExcelファイルから削除しますか?
- 4. VBAを使用してピボットチャートラベルを削除
- 5. 私はPythonを使ってファイルを削除しました
- 6. Excel VBAセルからコンテンツを削除して合計行を削除します
- 7. python aptモジュールを使ってppaを削除するにはどうしたらいいですか?
- 8. vbaは形状を追加し、3秒待ってから削除します
- 9. pythonモジュールはboost pythonを使っていますか?
- 10. キャンバスを使ってイメージからピクセルを削除しますか?
- 11. 共有モジュールを使ってモジュールを使ってPHPをコンパイルしますか?
- 12. Pythonを使用してサブストリングを削除
- 13. 重複を削除して削除するVBAコード
- 14. VBAオフスクリーンのユーザーフォームコントロールオブジェクトを削除します。
- 15. ファイルの内容を削除してから(Pythonで)削除しますか?
- 16. Pythonを使ってXMLファイルの要素を削除する
- 17. pythonを使って.datファイルの行と列を削除する
- 18. python apt APIを使ってdebianパッケージを削除するには
- 19. pythonを使ってtweet jsonファイルを削除する
- 20. Pythonを使って拡張asciiを削除するには?
- 21. Pythonを使ってWebrequestを削除するには?
- 22. Pythonを使ってjsonオブジェクトを削除するには?
- 23. Pythonを使ってdocker conatinerでフォルダを削除する
- 24. VBAを使用して重複を削除する
- 25. VBAを使用してAccessマクロをプログラムで削除する
- 26. vba変数を使用してファイルを削除する
- 27. VBAを使用してExcel内の行を削除する
- 28. VBAを使用してExcelで行を削除する
- 29. VBAを使用してグラフを作成し、境界線を削除します
- 30. Sitefinityからモジュールを削除
*「他のものは削除されます」*は望ましくない可能性があります。少なくとも、それは文書化されていなければなりません。 – IInspectable
良い点、@nsnspectable!他に何が削除されているか調べるためにいくつかの調査をします。 – bernie
他に何が削除されたのかについてのこの質問をご覧くださいhttp://stackoverflow.com/questions/3723793/preserving-styles-using-pythons-xlrd-xlwt-and-xlutils-copy – bernie