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だけにすれば、入力ファイルがそのまま置き換わります。
コメント