Pythonコード
以下のコードを「Delete_vba_comment.py」として保存。
import sys def main(): #引数の確認 args = sys.argv if(len(args) < 2): print("引数:対象ファイルパス") return False Delete_vba_comment(args[1]) def Delete_vba_comment(input_path): #出力用データ output_list = list() #データ読み込み input_file = open(input_path, "r") input_list = input_file.readlines() input_file.close() test = 0 #データの分類 for data in input_list: split_data = data.split("'", 1) output_list.append(split_data[0]) #改行コードを消した場合 if len(split_data) == 2: output_list.append("\n") #データの出力 output_file = open(input_path + "_delete_comment.bas", "w", encoding="utf-8") for data in output_list: output_file.writelines(data) output_file.close() if __name__ == "__main__": main()
動作確認
以下のような「sample.bas」を用意する。
'テスト用関数 Sub TestFunc() Range("A1") = "Test" 'A1セルにTestを挿入 Range("B1") = "Func" 'B1セルにFuncを挿入 End Sub
pythonファイルとテキストファイルが同じディレクトリにあるとして、次のように実行する。
python .\Delete_vba_comment.py .\sample.bas
実行すると「sample.bas_delete_comment.bas」というファイルが作成され、内容は次のようになる。
Sub TestFunc() Range("A1") = "Test" Range("B1") = "Func" End Sub
最後に
コメントが要らないというニッチな要望でした。
空行等は残して、ただコメントだけが消えるのでいい感じ。
ちなみに32行目のファイル名をinput_pathだけにすれば、入力ファイルがそのまま置き換わります。
コメント