|
下記のような、スクリプトなのですが、変数:SLCT_32 が定義されていません となります。 デバッグを使用してるのですが、なぜかCASE SLCT_32 以降、青色文字になりません。 windows 10 home よく使うファイルを選択しから選ぶスクリプトです。
FUNCTION OPENセラー表() SELECT SLCTBOX( SLCT_CMB, 0, "開きたいセラー表の番号を指定" , _ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100) CASE SLCT_1 fail = "データ セラー表0001.xlsx" CASE SLCT_2 fail = "データ セラー表0002.xlsx" CASE SLCT_3 fail = "データ セラー表0003.xlsx" CASE SLCT_4 fail = "データ セラー表0004.xlsx" CASE SLCT_5 fail = "データ セラー表0005.xlsx" CASE SLCT_6 fail = "データ セラー表0006.xlsx" CASE SLCT_7 fail = "データ セラー表0007.xlsx" CASE SLCT_8 fail = "データ セラー表0008.xlsx" CASE SLCT_9 fail = "データ セラー表0009.xlsx" CASE SLCT_10 fail = "データ セラー表0010.xlsx" CASE SLCT_11 fail = "データ セラー表0011.xlsx" CASE SLCT_12 fail = "データ セラー表0012.xlsx" CASE SLCT_13 fail = "データ セラー表0013.xlsx" CASE SLCT_14 fail = "データ セラー表0014.xlsx" CASE SLCT_15 fail = "データ セラー表0015.xlsx" CASE SLCT_16 fail = "データ セラー表0016.xlsx" CASE SLCT_17 fail = "データ セラー表0017.xlsx" CASE SLCT_18 fail = "データ セラー表0018.xlsx" CASE SLCT_19 fail = "データ セラー表0019.xlsx" CASE SLCT_20 fail = "データ セラー表0020.xlsx" CASE SLCT_21 fail = "データ セラー表0021.xlsx" CASE SLCT_22 fail = "データ セラー表0022.xlsx" CASE SLCT_23 fail = "データ セラー表0023.xlsx" CASE SLCT_24 fail = "データ セラー表0024.xlsx" CASE SLCT_25 fail = "データ セラー表0025.xlsx" CASE SLCT_26 fail = "データ セラー表0026.xlsx" CASE SLCT_27 fail = "データ セラー表0027.xlsx" CASE SLCT_28 fail = "データ セラー表0028.xlsx" CASE SLCT_29 fail = "データ セラー表0029.xlsx" CASE SLCT_30 fail = "データ セラー表0030.xlsx" CASE SLCT_31 fail = "データ セラー表0031.xlsx" CASE SLCT_32 fail = "データ セラー表0032.xlsx" CASE SLCT_33 fail = "データ セラー表0033.xlsx" CASE SLCT_34 fail = "データ セラー表0034.xlsx" CASE SLCT_35 fail = "データ セラー表0035.xlsx" CASE SLCT_36 fail = "データ セラー表0036.xlsx" CASE SLCT_37 fail = "データ セラー表0037.xlsx" CASE SLCT_38 fail = "データ セラー表0038.xlsx" CASE SLCT_39 fail = "データ セラー表0039.xlsx" CASE SLCT_40 fail = "データ セラー表0040.xlsx" CASE SLCT_41 fail = "データ セラー表0041.xlsx" CASE SLCT_42 fail = "データ セラー表0042.xlsx" CASE SLCT_43 fail = "データ セラー表0043.xlsx" CASE SLCT_44 fail = "データ セラー表0044.xlsx" CASE SLCT_45 fail = "データ セラー表0045.xlsx" CASE SLCT_46 fail = "データ セラー表0046.xlsx" CASE SLCT_47 fail = "データ セラー表0047.xlsx" CASE SLCT_48 fail = "データ セラー表0048.xlsx" CASE SLCT_49 fail = "データ セラー表0049.xlsx" CASE SLCT_50 fail = "データ セラー表0050.xlsx" CASE SLCT_51 fail = "データ セラー表0051.xlsx" CASE SLCT_52 fail = "データ セラー表0052.xlsx" CASE SLCT_53 fail = "データ セラー表0053.xlsx" CASE SLCT_54 fail = "データ セラー表0054.xlsx" CASE SLCT_55 fail = "データ セラー表0055.xlsx" CASE SLCT_56 fail = "データ セラー表0056.xlsx" CASE SLCT_57 fail = "データ セラー表0057.xlsx" CASE SLCT_58 fail = "データ セラー表0058.xlsx" CASE SLCT_59 fail = "データ セラー表0059.xlsx" CASE SLCT_60 fail = "データ セラー表0060.xlsx" CASE SLCT_61 fail = "データ セラー表0061.xlsx" CASE SLCT_62 fail = "データ セラー表0062.xlsx" CASE SLCT_63 fail = "データ セラー表0063.xlsx" CASE SLCT_64 fail = "データ セラー表0064.xlsx" CASE SLCT_65 fail = "データ セラー表0065.xlsx" CASE SLCT_66 fail = "データ セラー表0066.xlsx" CASE SLCT_67 fail = "データ セラー表0067.xlsx" CASE SLCT_68 fail = "データ セラー表0068.xlsx" CASE SLCT_69 fail = "データ セラー表0069.xlsx" CASE SLCT_70 fail = "データ セラー表0070.xlsx" CASE SLCT_71 fail = "データ セラー表0071.xlsx" CASE SLCT_72 fail = "データ セラー表0072.xlsx" CASE SLCT_73 fail = "データ セラー表0073.xlsx" CASE SLCT_74 fail = "データ セラー表0074.xlsx" CASE SLCT_75 fail = "データ セラー表0075.xlsx" CASE SLCT_76 fail = "データ セラー表0076.xlsx" CASE SLCT_77 fail = "データ セラー表0077.xlsx" CASE SLCT_78 fail = "データ セラー表0078.xlsx" CASE SLCT_79 fail = "データ セラー表0079.xlsx" CASE SLCT_80 fail = "データ セラー表0080.xlsx" CASE SLCT_81 fail = "データ セラー表0081.xlsx" CASE SLCT_82 fail = "データ セラー表0082.xlsx" CASE SLCT_83 fail = "データ セラー表0083.xlsx" CASE SLCT_84 fail = "データ セラー表0084.xlsx" CASE SLCT_85 fail = "データ セラー表0085.xlsx" CASE SLCT_86 fail = "データ セラー表0086.xlsx" CASE SLCT_87 fail = "データ セラー表0087.xlsx" CASE SLCT_88 fail = "データ セラー表0088.xlsx" CASE SLCT_89 fail = "データ セラー表0089.xlsx" CASE SLCT_90 fail = "データ セラー表0090.xlsx" CASE SLCT_91 fail = "データ セラー表0091.xlsx" CASE SLCT_92 fail = "データ セラー表0092.xlsx" CASE SLCT_93 fail = "データ セラー表0093.xlsx" CASE SLCT_94 fail = "データ セラー表0094.xlsx" CASE SLCT_95 fail = "データ セラー表0095.xlsx" CASE SLCT_96 fail = "データ セラー表0096.xlsx" CASE SLCT_97 fail = "データ セラー表0097.xlsx" CASE SLCT_98 fail = "データ セラー表0098.xlsx" CASE SLCT_99 fail = "データ セラー表0099.xlsx" CASE SLCT_100 fail = "データ セラー表0100.xlsx"
SELEND
RESULT = fail FEND
|
No.2714 2016/08/05(Fri) 01:26:42
|
☆ Re: CASE SLCT_32 以降定義されない / stuncloud |
|
|
SLCT_* 定数が SLCT_31 までしか定義されてないからです 引数が31個以上の場合はSLCT_NUMかSLCT_STRを使わないといけません このケースならこんな感じにします
dim list[] = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100
ret = SLCTBOX(SLCT_NUM or SLCT_CMB, 0, "開きたいセラー表の番号を指定", list) if ret <> -1 then fail = "データ セラー表" + replace(format(list[ret], 4), " ", "0") + ".xlsx" endif msgbox(fail)
|
No.2715 2016/08/05(Fri) 11:14:59
|
|
☆ Re: CASE SLCT_32 以降定義されない / しろまさ |
|
|
// listが連番なら生成しても良いですね。 Dim i, list For i = 1 To 100 list = list + i + "," Next list = Split(list, ",", TRUE)
ret = SLCTBOX(SLCT_NUM or SLCT_CMB, 0, "開きたいセラー表の番号を指定" , list)
|
No.2717 2016/08/05(Fri) 17:22:27
|
|
☆ Re: CASE SLCT_32 以降定義されない / SHINJIさん |
|
|
stuncloudさん、しろまささん 非常にわかりやすいスクリプトありがとうございます! めっちゃたすかりました!
|
No.2720 2016/08/06(Sat) 12:29:26
|
|
☆ Re: CASE SLCT_32 以降定義されない / SHINJIさん |
|
|
failセラー表 = SELECTFailListSerial("データ セラー表", ".xlsx", 100, 4) print failセラー表
↓↓リストから1を選択↓↓ データ セラー表1111.xlsx 、となってしまいます
下記のようにしてみたのですが
FUNCTION SELECTFailListSerial( ファイル名, 拡張子, リスト数, 固定桁数 ) Dim i, list For i = 1 To リスト数 list = list + i + "," Next list = Split(list, ",", TRUE) ret = SLCTBOX(SLCT_NUM or SLCT_CMB, 0, ファイル名, list) if ret <> -1 then fail = ファイル名 + replace(format(list[ret], 固定桁数), " ", "0") + 拡張子 endif RESULT = fail FEND
------------------------------------------------------------------------------------------- この場合はうまくいくのですが データ セラー表0001.xlsx
FUNCTION SELECTFailListSerial( ファイル名, 拡張子, リスト数, 固定桁数 ) dim list[] = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100
ret = SLCTBOX(SLCT_NUM or SLCT_CMB, 0, ファイル名, list) if ret <> -1 then fail = ファイル名 + replace(format(list[ret], 固定桁数), " ", "0") + 拡張子 endif
RESULT = fail FEND
|
No.2721 2016/08/06(Sat) 14:14:57
|
|
☆ Re: CASE SLCT_32 以降定義されない / miles |
|
|
// listの内容がSplit関数で文字型になるからでしょう。 // 数値処理フラグをTRUEにすれば、数値型になるので、formatでの変換が正しくなると思います。
list = Split(list, ",", TRUE, TRUE)
|
No.2722 2016/08/06(Sat) 14:37:27
|
|
☆ Re: CASE SLCT_32 以降定義されない / SHINJIさん |
|
No.2723 2016/08/06(Sat) 17:21:06
|
|
☆ Re: CASE SLCT_32 以降定義されない / SHINJIさん |
|
|
下記のようなスクリプトを作ることができました!ありがとうございます! 指定した連番の数字、ファイル、をリストから選択できます! こんなにいいもの(自分にとって)が作れて感動です! stuncloud さん、 しろまさ さん、miles さんありがとうございました!!
//コメントは空にできない。 FUNCTION SELECTSerialList( ファイル名, 拡張子, コメント, 始数, 終数, 固定桁数 )
Dim i, list
For i = 始数 To 終数 list = list + i + "," Next list = Split(list, ",", TRUE,TRUE)
ret = SLCTBOX(SLCT_NUM or SLCT_CMB, 0, コメント, list) if ret <> -1 then fail = ファイル名 + replace(format(list[ret], 固定桁数), " ", "0") + 拡張子 endif
RESULT = fail FEND
|
No.2724 2016/08/06(Sat) 18:07:19
|
|