実現したいこと
現在使用している指定したファイル内の印刷範囲設定をクリアするツールに、ページフッターの設定をする記述を追加したい。追加したい内容の詳細は以下。
フォルダ内のファイル全てのシートに対してページフッタ(左側のみ)を設定する。設定条件として、ファイル名が「C」から始まるものにはそのファイルの1シート目のAJ2のセルの値をセット、それ以外のファイル名のものにはそのファイルの1シート目のAG2のセルの値をセットする。
例)testフォルダにCopy.xlsxとPaste.xlsxというファイルが存在する場合、Copy.xlsxファイルに対してはCopy.xlsxファイルの1シート目のAJ2のセルの値、Paste.xlsxファイルに対しいてはPast.xlsxファイルの1シート目のAG2のセルの値をセットする。
1つのファイルに対して何枚シートがあろうと全て1シート目の値をセットしたい。
発生している問題・分からないこと
Pythonを普段から使っているわけではなく、今回初めて使い始めたためあまり理解できていない。
実装のイメージがついていない。
下部に張り付けているソースは印刷範囲をクリアするコード。その中に今回の記述を追加したいがどこに追加すべきかも分かっていない。
該当のソースコード
import os import openpyxl # フォルダパスを指定 folder_path = "." # 必要に応じて変更 # フォルダ内の全てのファイルを検索 for root, dirs, files in os.walk(folder_path): for file in files: # 拡張子が.xlsまたは.xlsxの場合 ext = os.path.splitext(file)[1].lower() if ext in [".xls", ".xlsx"]: # ワークブック読み込み wb = openpyxl.load_workbook(os.path.join(root, file)) # ワークブック内の全てのシートの印刷範囲をクリア for sheetname in wb.sheetnames: sheet = wb[sheetname] sheet = print_area = None # 保存 wb.save(os.path.join(root, file)) wb.close()
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
ChatGPTに書かせてみたりネットで検索をかけ片っ端から確認したが理想の回答が得られなかった。
補足
プログラミングというものに関しては殆ど初心者であるため、伝わりにくい点が多々あるかもしれません。
なるべく早く解決したいため、ヒントより答えを教授していただけると助かります。
言葉遣い等は気になりませんので自由に回答していただければと思います(説教はいりません)。
