teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

誤字

2021/06/11 01:04

投稿

hiro04kon
hiro04kon

スコア46

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,11 @@
1
1
  まだまだpython初心者のものです。classの引数で手こずっています。[ココ](https://teratail.com/questions/342439)の続きです。
2
2
  ###やりたいこと
3
- エクセルから名簿の情報を読み取り、それに合わせて座席表を名前付きで動的に配置したい。
3
+ エクセルから名簿の情報を読み取り、それに合わせて座席表を名前付きで動的に配置したいのです
4
- エクセルファイルを違うものを選択すると、ボタンを消去して、再配置したいのですが、
5
- 消去の仕方(どのタイミング、どの項?)が分かりません。
6
4
 
5
+ できないで引っかかっているところは、エクセルファイルを違うものに選択すると、ボタンを消去して、再配置したいのです。
6
+
7
+ 消去の仕方(どのタイミング、どの項?)が分かりません。その書き方だけでもいいので、教えてください。
8
+
7
9
  以下が作成したコードです。(再編集しました)
8
10
 
9
11
  ```python

3

改訂版

2021/06/11 01:04

投稿

hiro04kon
hiro04kon

スコア46

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,10 @@
1
1
  まだまだpython初心者のものです。classの引数で手こずっています。[ココ](https://teratail.com/questions/342439)の続きです。
2
2
  ###やりたいこと
3
3
  エクセルから名簿の情報を読み取り、それに合わせて座席表を名前付きで動的に配置したい。
4
- また、そ座席クリックすると、その時刻をエクセルと、ボタンに追加するとともにクリック不可にしたいのです
4
+ エクセルファイルを違うものを選択すると、ボタンを消去して再配置したいのですが、
5
+ 消去の仕方(どのタイミング、どの項?)が分かりません。
5
6
 
6
- 以下が作成したコードです。
7
+ 以下が作成したコードです。(再編集しました)
7
8
 
8
9
  ```python
9
10
  #!/usr/bin/env python

2

文法の修正

2021/06/11 01:00

投稿

hiro04kon
hiro04kon

スコア46

title CHANGED
File without changes
body CHANGED
@@ -33,7 +33,6 @@
33
33
  prognum = [] #プログラム用番号
34
34
  no_num =[] #連番で空いている番号
35
35
  none_index = [] #名簿の空のセルのインデックス
36
- meibo_s = []  #プログラム用番号にしたがって、名簿を席順に並べ変え
37
36
  report = [] #初期レポート名
38
37
  m_comboBox1Choices = report
39
38
  m_comboBox0Choices = excels_file
@@ -84,7 +83,7 @@
84
83
 
85
84
  #####選択したエクセルから情報を読み取る######
86
85
  def excell_import (self ,file) :
87
- global meibo
86
+ global meibo ,num
88
87
  self.wb = openpyxl.load_workbook(file ,data_only=True,read_only=False)
89
88
  self.sheet = self.wb['date']
90
89
  #####ファイルへのフルパス#####
@@ -94,6 +93,7 @@
94
93
 
95
94
  ####配列####
96
95
  self.seki = int(self.sheet.cell(3,6).value) #座席の数の値を取得(空白の席を含む数)
96
+ num = self.seki
97
97
  ####名簿を取得####
98
98
  for row in self.sheet['A5:IV'+ str(self.seki + 4)] :
99
99
  for col in row :
@@ -102,16 +102,12 @@
102
102
  #####座席チェック###### 全てのボタンでか調べる
103
103
  def check(self) :
104
104
  for check in range(seki) : #席の数だけ繰り返す
105
- label = str(meibo_s[check][1]) +". "+ str(meibo_s[check][4]+ '\n' + str( meibo_s[check][2]) ) #名簿から氏名等を再取得
105
+ label = str(meibo[check][1]) +". "+ str(meibo[check][4]+ '\n' + str( meibo[check][2]) ) #名簿から氏名等を再取得
106
- if meibo_s[check][self.col + 6] == None : #日付が空白なら
106
+ if meibo[check][self.col + 6] == None : #日付が空白なら
107
107
  self.button[check].SetLabel(label)
108
- self.button[check].SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_GRAYTEXT ) )
109
- self.button[check].SetBackgroundColour( wx.Colour( 128, 255, 255 ) )
110
108
  self.button[check].Enable() #クリック可にする
111
109
  else :
112
- self.button[check].SetLabel(label + '\n' + str(meibo_s[check][self.col + 6])) #提出日付を付与
110
+ self.button[check].SetLabel(label + '\n' + str(meibo[check][self.col + 6])) #提出日付を付与
113
- self.button[check].SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_GRAYTEXT ) )
114
- self.button[check].SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_3DLIGHT ) )
115
111
  self.button[check].Disable() #クリック不可にする
116
112
 
117
113
 
@@ -123,15 +119,11 @@
123
119
  self.obj_button =[]
124
120
  self.button = []
125
121
  for i in range( num ) : #名簿の長さだけ繰り返す
126
- labeltext = str(meibo_s[i][1]) +". "+ str(meibo_s[i][4]+'\n' + str( meibo_s[i][2]) )
122
+ labeltext = str(meibo[i][1]) +". "+ str(meibo[i][4]+'\n' + str( meibo[i][2]) )
127
123
  self.button.append(wx.Button(self.mainPanel, wx.ID_ANY, labeltext, wx.DefaultPosition, wx.DefaultSize, wx.BU_LEFT ) )
128
124
 
129
125
  sizer = wx.GridSizer( 10 , 20 , 5, 10)
130
126
  for j in range( num ) :
131
- self.button[j].SetFont(wx.Font( 11, wx.FONTFAMILY_MODERN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "MS Pゴシック"))
132
- self.button[j].SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_GRAYTEXT ) )
133
- self.button[j].SetBackgroundColour( wx.Colour( 128, 255, 255 ) )
134
- self.button[j].Bind(wx.EVT_BUTTON, self.button_func ) #ボタンクリック時をバインド
135
127
  sizer.Add(self.button[j],1, flag=wx.EXPAND )
136
128
  self.obj_button.append(id(self.button[j]))
137
129
 

1

文法の修正

2021/06/10 21:27

投稿

hiro04kon
hiro04kon

スコア46

title CHANGED
File without changes
body CHANGED
@@ -22,6 +22,8 @@
22
22
  excels =glob.glob(dir + '/*.xls*') #xls,xlsxの拡張子のファイルをフルパス付リスト化
23
23
  excels.remove(dir + '\meibo.xlsx') #meibo.xlsxを除く
24
24
  excels_file =[]
25
+ for e in excels : #meibo.xlsxを除いて、ファイル名のみのリストを作成
26
+ excels_file.append(e.replace(dir+'\', ''))
25
27
 
26
28
  ####定義変数####
27
29
  myclass = "" #会議セルの値