実現したいこと
大量にあるシートの中からシート名を指定し、エクセルを起動するとともにそのワークブックのそのシートが表示されるようにしたいです。
発生している問題・分からないこと
現状ではopenpyxlを使ってシート名一覧を取得し、そこからシート名を検索してアクティブにし、osモジュールを使ってエクセルファイルをひらく、ということを目指していますが、最初のシートが表示されてしまう上に、シートが多いからか時間がかかります。
該当のソースコード
python
1 from openpyxl import load_workbook 2 import os 3 import getpass 4 wb = load_workbook(エクセルファイルパス) 5 for s in range(len(wb.sheetnames)): 6 if wb.sheetnames[s] == シート名: 7 break 8 wb.active = s 9 print(s) 10 11 wb.save(エクセルファイルパス) 12 13 os.chdir(dir) 14 os.system(f"start excel.exe {ファイル名}") 15
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
以下のページそのままです
https://stackoverflow.com/questions/59670514/opening-specific-excel-sheet-with-python-when-opening-application
補足
一年間の日付がシート名となるので、365シートあります。tkinterでUIをつくり、日付を指定して直接そのシートに飛ぶ設計です。
シート名やファイルパスは取得できており、if文を通っていることも確認しています。仮にexcelの仕様などであれば、別の方法を教えていただきたいです。
よろしくお願いします。