質問編集履歴

4

誤字

2021/06/11 01:04

投稿

hiro04kon
hiro04kon

スコア46

test CHANGED
File without changes
test CHANGED
@@ -2,11 +2,15 @@
2
2
 
3
3
  ###やりたいこと
4
4
 
5
- エクセルから名簿の情報を読み取り、それに合わせて座席表を名前付きで動的に配置したい。
5
+ エクセルから名簿の情報を読み取り、それに合わせて座席表を名前付きで動的に配置したいのです
6
-
6
+
7
+
8
+
7
- エクセルファイルを違うもの選択すると、ボタンを消去して、再配置したいのですが、
9
+ できないで引っかかっているところは、エクセルファイルを違うもの選択すると、ボタンを消去して、再配置したいのです
8
-
10
+
11
+
12
+
9
- 消去の仕方(どのタイミング、どの項?)が分かりません。
13
+ 消去の仕方(どのタイミング、どの項?)が分かりません。その書き方だけでもいいので、教えてください。
10
14
 
11
15
 
12
16
 

3

改訂版

2021/06/11 01:04

投稿

hiro04kon
hiro04kon

スコア46

test CHANGED
File without changes
test CHANGED
@@ -4,11 +4,13 @@
4
4
 
5
5
  エクセルから名簿の情報を読み取り、それに合わせて座席表を名前付きで動的に配置したい。
6
6
 
7
- また、そ座席クリックすると、その時刻をエクセルと、ボタンに追加するとともにクリック不可にしたいのです
7
+ エクセルファイルを違うものを選択すると、ボタンを消去して再配置したいのですが、
8
+
8
-
9
+ 消去の仕方(どのタイミング、どの項?)が分かりません。
9
-
10
-
10
+
11
+
12
+
11
- 以下が作成したコードです。
13
+ 以下が作成したコードです。(再編集しました)
12
14
 
13
15
 
14
16
 

2

文法の修正

2021/06/11 01:00

投稿

hiro04kon
hiro04kon

スコア46

test CHANGED
File without changes
test CHANGED
@@ -68,8 +68,6 @@
68
68
 
69
69
  none_index = [] #名簿の空のセルのインデックス
70
70
 
71
- meibo_s = []  #プログラム用番号にしたがって、名簿を席順に並べ変え
72
-
73
71
  report = [] #初期レポート名
74
72
 
75
73
  m_comboBox1Choices = report
@@ -170,7 +168,7 @@
170
168
 
171
169
  def excell_import (self ,file) :
172
170
 
173
- global meibo
171
+ global meibo ,num
174
172
 
175
173
  self.wb = openpyxl.load_workbook(file ,data_only=True,read_only=False)
176
174
 
@@ -190,6 +188,8 @@
190
188
 
191
189
  self.seki = int(self.sheet.cell(3,6).value) #座席の数の値を取得(空白の席を含む数)
192
190
 
191
+ num = self.seki
192
+
193
193
  ####名簿を取得####
194
194
 
195
195
  for row in self.sheet['A5:IV'+ str(self.seki + 4)] :
@@ -206,25 +206,17 @@
206
206
 
207
207
  for check in range(seki) : #席の数だけ繰り返す
208
208
 
209
- label = str(meibo_s[check][1]) +". "+ str(meibo_s[check][4]+ '\n' + str( meibo_s[check][2]) ) #名簿から氏名等を再取得
209
+ label = str(meibo[check][1]) +". "+ str(meibo[check][4]+ '\n' + str( meibo[check][2]) ) #名簿から氏名等を再取得
210
-
210
+
211
- if meibo_s[check][self.col + 6] == None : #日付が空白なら
211
+ if meibo[check][self.col + 6] == None : #日付が空白なら
212
212
 
213
213
  self.button[check].SetLabel(label)
214
214
 
215
- self.button[check].SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_GRAYTEXT ) )
216
-
217
- self.button[check].SetBackgroundColour( wx.Colour( 128, 255, 255 ) )
218
-
219
215
  self.button[check].Enable() #クリック可にする
220
216
 
221
217
  else :
222
218
 
223
- self.button[check].SetLabel(label + '\n' + str(meibo_s[check][self.col + 6])) #提出日付を付与
219
+ self.button[check].SetLabel(label + '\n' + str(meibo[check][self.col + 6])) #提出日付を付与
224
-
225
- self.button[check].SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_GRAYTEXT ) )
226
-
227
- self.button[check].SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_3DLIGHT ) )
228
220
 
229
221
  self.button[check].Disable() #クリック不可にする
230
222
 
@@ -248,7 +240,7 @@
248
240
 
249
241
  for i in range( num ) : #名簿の長さだけ繰り返す
250
242
 
251
- labeltext = str(meibo_s[i][1]) +". "+ str(meibo_s[i][4]+'\n' + str( meibo_s[i][2]) )
243
+ labeltext = str(meibo[i][1]) +". "+ str(meibo[i][4]+'\n' + str( meibo[i][2]) )
252
244
 
253
245
  self.button.append(wx.Button(self.mainPanel, wx.ID_ANY, labeltext, wx.DefaultPosition, wx.DefaultSize, wx.BU_LEFT ) )
254
246
 
@@ -258,14 +250,6 @@
258
250
 
259
251
  for j in range( num ) :
260
252
 
261
- self.button[j].SetFont(wx.Font( 11, wx.FONTFAMILY_MODERN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "MS Pゴシック"))
262
-
263
- self.button[j].SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_GRAYTEXT ) )
264
-
265
- self.button[j].SetBackgroundColour( wx.Colour( 128, 255, 255 ) )
266
-
267
- self.button[j].Bind(wx.EVT_BUTTON, self.button_func ) #ボタンクリック時をバインド
268
-
269
253
  sizer.Add(self.button[j],1, flag=wx.EXPAND )
270
254
 
271
255
  self.obj_button.append(id(self.button[j]))

1

文法の修正

2021/06/10 21:27

投稿

hiro04kon
hiro04kon

スコア46

test CHANGED
File without changes
test CHANGED
@@ -46,6 +46,10 @@
46
46
 
47
47
  excels_file =[]
48
48
 
49
+ for e in excels : #meibo.xlsxを除いて、ファイル名のみのリストを作成
50
+
51
+ excels_file.append(e.replace(dir+'\', ''))
52
+
49
53
 
50
54
 
51
55
  ####定義変数####