1 名前:デフォルトの名無しさん [2020/06/26(金) 02:01:29.56 ID:uDfmpksE0.net] !extend:checked:vvvvv:1000:512 ↑同じ内容を2行貼り付ける ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part66 https://mevius.5ch.net/test/read.cgi/tech/1589085825/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
237 名前:234 (ワッチョイ 8a01-c9XW) [2020/07/05(日) 07:54:44 ID:Mq9FuBzw0.net] >>234 をグーグルで検索するには、どういうキーワードで検索すればいいでしょうか?
238 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 07:57:11.74 ID:R1IME3L+0.net] >>228 Ruby で作った。 ただし、DryRun なので実際には実行されません! require 'fileutils' # 絶対パスのディレクトリ名の後ろに、* を付けること! # . で始まる、隠し directory, file を除く glob_pattern = "C:/Users/Owner/Documents/*" src_dir = File.dirname( glob_pattern ) # ディレクトリパスだけを取り出す Dir.glob( glob_pattern ) .select { |full_path| File.file?( full_path ) } # ファイルのみ処理する .each do |full_path| # 1つずつ処理する dest_path = src_dir + "/" + "2020_" + File.basename( full_path ) # ファイル名 FileUtils::DryRun.move( full_path, dest_path ) end # mv C:/Users/Owner/Documents/a.txt # C:/Users/Owner/Documents/2020_a.txt
239 名前:234 [2020/07/05(日) 08:01:08.68 ID:Mq9FuBzw0.net] >>228 ファイルをバイナリで読み込んで、バイナリで書き出す、 で、書き出す際に、ファイル名に"2020"&、とすればいい。
240 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 08:01:41.62 ID:VaIdJVAp0.net] >>234 うん >>237 vba 関数 呼び出し 偉いね、その姿勢があればすぐにプロフェッショナルだわ
241 名前:デフォルトの名無しさん [2020/07/05(日) 08:04:40.53 ID:nDNnOTMWa.net] >>234 普通に最後にサブルーチンの名前呼び出し書いたら良いのでは? Sub 1() ・・・ ・・・ 2 End Sub Sub 2() ・・・ ・・・ 3 End Sub Sub 3() ・・・ ・・・ End Sub
242 名前:234 [2020/07/05(日) 08:05:40.42 ID:Mq9FuBzw0.net] >>240 どうもです。
243 名前:234 [2020/07/05(日) 08:06:29.51 ID:Mq9FuBzw0.net] >>241 どうもです。
244 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 11:36:58.35 ID:CJtrxhlB0.net] >>242 呼び出しは、可読性考慮すると文頭にCall書いた方がいいよ
245 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:58:43.83 ID:U1BgWcwt0.net] >>207 VBAでやっても6時間はかかりすぎな気がするが マシンスペックとコード晒してみ それ、計算式でやって再計算に1時間以上かかるのか? 当然試してるよな マルチプロセスもどうやってやったのか気になるが 俺なら間違いなくDBにつっこんでSQLでやる そういえばエクセルシートなりCSVなりに対してSQL投げる方法がいくつかあったけど それは試したのか?
246 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 15:07:25.29 ID:2yUokYO9d.net] >>239 ファイル名変更だから読む必要は無いだろ。 変更するだけでOK。
247 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 15:11:46.86 ID:BTTSshKd0.net] >>244 おれもsubモジュール呼び出しはCallつけるようにしてる 他の言語いじったにあととかにVBAのその行みたらよくファッ!?って一瞬なるから
248 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 15:16:11.04 ID:2yUokYO9d.net] >>245 SQLに投げるのは簡単だが、今回の問題でどういうSQLで出来るのかが分からんかった。 今でも思い付かんが。 計算式ではやってないな。 まあ、無駄なんで。 というか、本当にやる奴が出るとは思わんかったから、言わんかったが他にも制約は有ったんだわ。 それにしても>>236 は速いな。 ちょっとおれも調べてみるか。 ちなみにこの仕事数年前なんで完全に憶えてるわけじゃない。
249 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 15:22:54.54 ID:2yUokYO9d.net] マルチプロセスはExcel.Application8個(自分含めて)呼び出して、自分のブック開いて別CPUにやらせるプロシージャをApplication.OnTimeで呼び出したかSetTimerで呼び出したかだったんじゃないかな。 細かい連携しないで済むようにしてたと思う。 複雑なことはやってねえよ。
250 名前:220 (ワッチョイ 87cc-ERT+) mailto:sage [2020/07/05(日) 19:59:50 ID:Y6miK3VP0.net] >>224 いろいろ試してダメだったらそうします >>225 ありがとうございます。そうします
251 名前:デフォルトの名無しさん (スプッッ Sd4a-tYaB) mailto:sage [2020/07/05(日) 21:27:28 ID:2yUokYO9d.net] >>236 う〜ん、分からん。 俺もやってみたんだが、同じような時間だった。 観測値はテキ卜一に0〜100をランダムで書き込み。 観測出来なかった値は当時の記憶を頼りに9999とした。 確か9998もあったけど変わらんだろう。 前に書いた制約というかは、1年分のファイルが50〜60個ぐらいだったということ。 つまり県ごとのファイルで観測地が多い所は複数ファイルって感じ。 だから実際は行頭に観測地名が入って、その後に何かの数値とかが幾つかあって日付、観測値という具合だった。 年ごとのファイルが完全に固定フォーマットで無かったか、俺が信用してなかったか、観測値名で検索してたと思う。 そこから365日分は連続してたと思うけど。 それでも6時間は掛からんような気がしてきた。 もっと複雑なことやってたのかなあ。 どっちにしても後だしで申し訳ない。
252 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 22:26:04.09 ID:ys79fvH60.net] >>251 そもそもいつ頃の話よ うろ覚えだけど2010あたりから計算式はめちゃめちゃ速くなってるぞ あとでかいブックは64bit化の恩恵もあるし
253 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 22:29:31.22 ID:2yUokYO9d.net] >>252 調べたらそんなに昔じゃ無かったな。 2016年だった。
254 名前:238 (ワッチョイ 872c-+ZV3) mailto:sage [2020/07/05(日) 22:43:00 ID:R1IME3L+0.net] ファイル名の先頭に、2020_ を付けるぐらい、robocopy で出来ないのか?
255 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 22:49:17.55 ID:ys79fvH60.net] 2016ならよほど変なことをしてないと数時間とかかからんと思う
256 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 23:53:51.99 ID:C4Jqu0Op0.net] 2020_2020_2020_2020・・・・
257 名前:デフォルトの名無しさん (ワッチョイ ea24-bNAA) mailto:sage [2020/07/06(月) 00:43:25 ID:Cn1gvhVh0.net] officeが32bitだったというオチは?
258 名前:デフォルトの名無しさん (オッペケ Sr23-aBdg) mailto:sage [2020/07/06(月) 06:39:12 ID:NN5xIHVpr.net] workbookとworksheetって何が違うか。
259 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 07:15:30.65 ID:5mzvDM1u0.net] キングジムファイルと綴じられてる一覧表って感じかな
260 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 08:12:33.04 ID:XvhlV03D0.net] 32bitと64bitで計算スピードの差は2倍もないような
261 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 08:39:32.35 ID:NN5xIHVpr.net] Activesheet.cells(1.1).Activate Activesheet.Paste は上手くいくのに、 Activesheet.cells(1.1).Paste は何でダメなんですか?
262 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 09:18:02.55 ID:Ag715axD0.net] >>261 .pasteは、worsheetのメンバであってrangeやcellsのメンバじゃないから、かな?
263 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 09:49:31.89 ID:Smcv6rvz0.net] パラメータ Destinationがあるから ワイはPasteSpecialのほうが好き
264 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 12:08:40.63 ID:0NryXgvDd.net] >>263 普通はCopyのDestinationでやるからな。 Paste使うのはRange以外のコピーの時かな。
265 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 18:39:32.80 ID:XttWreH00.net] For 処理1 処理2 処理3 処理4 Next よりも For 処理1 Next For 処理2 Next For 処理3 Next For 処理4 Next の方が処理が早い傾向がありますが、そういうものですか?
266 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 19:08:39.04 ID:tFUllOPh0.net] >>254 出来ないよ???? robocopy はファイル名の変更はできない。 robocopy したあと move するしかない。 …あ。こいつWSHスレを荒らしてたrubyおじさんじゃんww
267 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 19:10:33.89 ID:tFUllOPh0.net] てか、もうRubyは徒花だったな。 人気もダダ下がりだし。
268 名前:デフォルトの名無しさん (スプッッ Sd4a-tYaB) mailto:sage [2020/07/06(月) 20:45:52 ID:0NryXgvDd.net] >>266 よく分からんが、そもそも何でRubyが出て来るんだ? VBAだってNameステートメントで一発なのに。
269 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 20:59:38.60 ID:aGu/2bZb0.net] >>265 普通にかんがえて、前者のほうがループのオーバーヘッド分早いはずだが その傾向ってのはどうやって調べたのか
270 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 21:12:06.08 ID:tFUllOPh0.net] >>268 どこでもかしこでもRubyで書いて押し付けてきて、「出来だよ!」っていうオジサンがいるのよ。 WSHスレでは「Rubyおじさん」として有名だった。 が、自分よりスキルの上な奴がコードをうしたら黙り込む。 こんなところにまで出張いてるとはね…。 無視推奨。Rubyはオワコンだし。
271 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 21:13:16.26 ID:K1goXTAAa.net] じゃあVBAはお爺ちゃんだろ
272 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 21:17:13.18 ID:tFUllOPh0.net] >>271 VBAは「頼れるジジイ」だろ。何言ってんの?
273 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 21:29:12.52 ID:XvhlV03D0.net] >>265 そんなのは処理による コードが長くなったりループの中で扱うデータが増えるとメモリキャッシュがあふれて遅くなる可能性が高くなる
274 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 22:27:45.01 ID:33E9zFJO0.net] Rubyの話がしたければRubyのスレ行けばいいのにね
275 名前:デフォルトの名無しさん (スプッッ Sd4a-tYaB) mailto:sage [2020/07/07(火) 12:27:17 ID:mk51G87Dd.net] >>270 いや、それはRubyが優位と言いたいが為だろ。 全然優位じゃない所に出てくるのが分からん。
276 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 19:51:41.03 ID:CAdbpiIn0.net] 宣伝だろ
277 名前:デフォルトの名無しさん [2020/07/07(火) 20:15:33.65 ID:2cf+0s2v0.net] 音楽のmidiファイルを作りたい、つまりバイナリファイルを作りたい者です。で、 ↓を試してみたいのですが、"C3"にバイナリの配列を書き込まなければいけません。 この場合、どうやってexcelのセルに、バイナリの配列データを書き込むのでしょうか? https://oshiete.goo.ne.jp/qa/8402512.html Sub test() TEMP = Worksheets("Sheet1").Range("C3") ReDim BIN(Len(TEMP) / 2 - 1) As Byte For I = 1 To Len(TEMP) Step 2 BIN((I - 1) / 2) = Val("&H" & Mid(TEMP, I, 2)) Next I Open "1.BIN" For Binary As #1 Put #1, , BIN Close #1 End Sub
278 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 20:25:40.74 ID:BPFgnJg70.net] なんでVBAでやるの?
279 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 20:27:13.84 ID:z4TbLErcM.net] VBAスレだから
280 名前:犬丸 [2020/07/07(火) 20:31:41.96 ID:2cf+0s2v0.net] >>278 和音の構成音(ドレミ・・・)を1つづつセルに入れられるから。
281 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 20:33:47.85 ID:BPFgnJg70.net] なんでdominoとか使わないの?
282 名前:デフォルトの名無しさん [2020/07/07(火) 20:34:49.08 ID:2cf+0s2v0.net] あと、PCにインストールされてる開発系はexcelだけだから。
283 名前:277 [2020/07/07(火) 20:41:28.24 ID:2cf+0s2v0.net] つか、改変させたいmidiファイルが300個位あって、それの欲しいデータのexcelファイルへの読み込みはもう終わったわけ。 あとは、そのデータをちょい改変して、同様な300個のmidiファイルを吐き出すだけなんですよ。
284 名前:277 [2020/07/07(火) 20:42:49.00 ID:2cf+0s2v0.net] だから、excelでバイナルファイルを作りたいのです。
285 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:00:27.95 ID:yByKJQAn0.net] 読み込めたなら反対をやればいいんじゃないの
286 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:05:07.15 ID:CAdbpiIn0.net] >>283 著作権的にどうなの?
287 名前:277 [2020/07/07(火) 21:10:37.49 ID:2cf+0s2v0.net] >>285 日本語だってそうだろ。 読むのは簡単。 書くのは大変なんだよ。 >>286 ネットで買った和音だけの簡単なデータで改変したデータを自分だけで使うぶんには問題ありません。
288 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:13:27.88 ID:BPFgnJg70.net] じゃあそうすればいいじゃない? 所詮16進数の文字の羅列(Byteの配列とかにはさすがに出来てるんやろ?)なんだから 最終的には好きに料理してファイルに吐き出せばいい ただ、1つのセルにバイナリなんて入れたら手作業で編集なんてしずらくてしょうがないけどな あとセルの文字数上限もあるだろうし midiの規格書読んだことあるのかしらんが、よくチャンクとかバイナリいじって編集しようと思うな
289 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:13:57.80 ID:CAdbpiIn0.net] >>287 ならmidiの編集ソフトが使った方がいいね
290 名前:277 [2020/07/07(火) 21:14:00.67 ID:2cf+0s2v0.net] >>286 そもそも観賞するためのmidiデータではなく音楽制作に使うツールとしてのmidiデータなんだよね。
291 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:14:32.40 ID:/HMzap4UM.net] >>282 C#やVB.NETもあるけど?w
292 名前:277 [2020/07/07(火) 21:22:41.71 ID:2cf+0s2v0.net] >>288 > midiの規格書読んだことあるのかしらんが、よくチャンクとかバイナリいじって編集しようと思うな 基礎的な部分は把握してます。 > 所詮16進数の文字の羅列(Byteの配列とかにはさすがに出来てるんやろ?) これがわからないんです。たとえば、4D 54 68 64という16進のデータをexcelの1つのセルに書き込む方法を教えて欲しいのです。
293 名前:277 [2020/07/07(火) 21:25:44.85 ID:2cf+0s2v0.net] で、excelの"C3"に、4D 54 68 64を書き込んで>>277 のソースを動かして試してみたいんです。
294 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:26:04.88 ID:CAdbpiIn0.net] これなんか良いんじゃね https://openmidiproject.osdn.jp/Sekaiju.html
295 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:29:51.89 ID:CAdbpiIn0.net] midiの規格ってそんな簡単じゃないから素人が扱っても音が切れたりトラックがずれたりして 結局使えないだろ
296 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:32:34.47 ID:7cSgkxva0.net] ExcelのRange#valueにバイト列なんか入るわけないんだから自分がわかりやすいように文字列か数値に勝手に変換して勝手に入れろとしか言えない
297 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:34:29.92 ID:MaHOmhaOM.net] Excelでmidiデータを取り扱うなんて常人の発想ではない たぶんあなた以外に誰も方法はわからないから頑張ってその道の第一人者になって欲しい
298 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:35:25.31 ID:BPFgnJg70.net] >>292 セルに入れられるのはあくまで文字列ってこと理解してないの? その例なら「Byte(0):77 Byte(1):84〜」とかいう配列から「4D 54 68 64」という文字列にしなければセルには書き込めない Byteはそれぞれの数値が入ってるだろうけど、hexかなんかで16進数にしたうえで(編集上必要あるか知らんけど) join(array, " ")かなんかで1つの文字列にする くっそ編集しずらいだろうけどな
299 名前:デフォルトの名無しさん [2020/07/07(火) 21:44:56.92 ID:tZSrRerM0.net] 前スレのテキストフルスキャンの発想とコード提示してくれた人 改めて言わせて貰う 職場の一大イベントを乗り切ったわこれで
300 名前:デフォルトの名無しさん [2020/07/07(火) 21:46:02.99 ID:tZSrRerM0.net] 改めて多大なるお礼を言わせて貰うが抜けてた これのおかげですべての可能性が広がったわ
301 名前:277 [2020/07/07(火) 22:23:53.24 ID:2cf+0s2v0.net] では、すみません。 >>277 の質問はなしにして、↓の質問をお願いします。 1、変数に「4D 54 68 64」のバイナリデータを代入するソース 2、中身は「4D 54 68 64」だけのファイル 3、ファイル名は5ch.bin こんなファイルを作るにはどのようなソースを書けばよいでしょうか?
302 名前:277 [2020/07/07(火) 22:29:17.16 ID:2cf+0s2v0.net] >>228 allrenameというフリーソフトを使えばいいのじゃ。
303 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 22:32:51.69 ID:CAdbpiIn0.net] >>301 バイナリ編集のソフト使えばいいんじゃね
304 名前:301 [2020/07/07(火) 22:42:26.54 ID:2cf+0s2v0.net] >>303 すみません。 「VBAを使って」でした。
305 名前:デフォルトの名無しさん [2020/07/07(火) 22:43:37.27 ID:O/UE8zUS0.net] もはやExcelを使うことが目的化してる
306 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 22:44:27.22 ID:yByKJQAn0.net] それもう読み込んだデータ無意味やん フォーマット知らんけどセルに書き出せたんならファイルにもいけるやろ
307 名前:301 [2020/07/07(火) 22:54:30.10 ID:2cf+0s2v0.net] >>306 基礎になるソースさえ教えてもらえれば、そこに色々付け加えてって自分に必要なバイナリファイルが作れるんですよ。
308 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 22:57:06.69 ID:BPFgnJg70.net] まず書く努力をしよう
309 名前:デフォルトの名無しさん [2020/07/07(火) 22:57:22.32 ID:0KBHODZEd.net] >>307 そろそろ死ねや
310 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 23:05:51.69 ID:1TMQwlbY0.net] Excelの設定もAppDataの中身も場所も変えて無いのに、 下記のように表示されてマクロが読めません! 「起動フォルダーにある個人用マクロブックは記録のために開かれた状態でなければなりません」
311 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 23:09:31.21 ID:exS2x9T+0.net] >>310 そのままググった https://xtech.nikkei.com/it/pc/article/NPC/20070719/277869/
312 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 00:06:04.08 ID:66yUE/saa.net] >>301 「'4D 54 68 64'」シングルかダブルで囲えば良いのでは? 「"4D 54 68 64"」 あるいは いったんタブ区切りファイルtmp.tsvを途中で 中間ファイルとして介在させたらいいんじゃないですか?
313 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 00:14:08.99 ID:4BPfKF9s0.net] ソースくれくれ君だからひんとあろうが自分で書かないよ、こういうやつ
314 名前:301 (ワッチョイ 2301-6wWl) [2020/07/08(水) 01:45:46 ID:gPwSdoJG0.net] >>312 ありがとうございます。でも、「セルから変数を代入する」は止めました。で、>>277 を変形してみたんですけど、↓のドコがまずいんですかね? Sub test() Dim TEMP As Variant Dim I As Variant Dim BIN As Variant TEMP = Array(&H4D, &H54, &H68, &H54, &H68, &H64) ReDim BIN(Len(TEMP) / 2 - 1) As Byte For I = 1 To Len(TEMP) Step 2 BIN((I - 1) / 2) = Val("&H" & Mid(TEMP, I, 2)) Next I Open "C:\1.BIN" For Binary As #1 Put #1, , BIN Close #1 End Sub
315 名前:301 [2020/07/08(水) 01:49:45.50 ID:gPwSdoJG0.net] つか、 ReDim BIN(Len(TEMP) / 2 - 1) As Byte この部分が何だかわかんないんですよ。 まず、ReDimとは何だ?と。
316 名前:301 [2020/07/08(水) 02:05:21.42 ID:gPwSdoJG0.net] 目的は、 &H4D, &H54, &H68, &H54, &H68, &H64という6個のバイナリデータだけの、 1.BINというファイルを作りたい! です。
317 名前:デフォルトの名無しさん (ワッチョイ cb63-jZ9g) mailto:sage [2020/07/08(水) 03:08:12 ID:F8fi/iH60.net] Excelでやる事ではない 以上です
318 名前:デフォルトの名無しさん (ワッチョイ cb63-jZ9g) mailto:sage [2020/07/08(水) 03:11:39 ID:F8fi/iH60.net] まずバイナリが何かすら分かってなさそうだしこの分だとmidiについても何も分かってなさそう
319 名前:デフォルトの名無しさん (ドコグロ MM43-jxlo) [2020/07/08(水) 03:24:41 ID:llacuNM3M.net] ここで聞くより、「vba バイナリデータ」でググったほうが早そう
320 名前:デフォルトの名無しさん (アウアウウー Sa09-X/TW) mailto:sage [2020/07/08(水) 04:08:36 ID:a4KGuVW5a.net] うちは会社のpcでバイナリ編集するのってセキュリティー的にアウトだし
321 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 05:18:34.50 ID:hKBgVgLRr.net] この写真のように、例えば、3以下の数値をアクティブにする方法を教えて頂きたい できれば、for next 構文はなしで 一発検索が望ましい。 https://i.imgur.com/EGujBbu.jpg
322 名前:デフォルトの名無しさん (アウアウエー Sa13-c9t6) mailto:sage [2020/07/08(水) 06:25:23 ID:yrsbI81qa.net] >>315 > ReDimとは何だ?と 思ったらググって下さい。 ReDim BIN(Len(TEMP) / 2 - 1) As Byte よくわからないですが動的配列を半分の長さで確保してるようです。 512÷2-1=255 forで繰り返すMid関数のスタート引数が1からのため配列の0番を1つ引算してまふ 「4D 54 68 64」ではなくてスペースなし「4D546864」か Replace関数でスペースを削除しましょう 出来た文字列"4D546864"に対して ループで前から2文字ずつ"&H"を付け足しているので おそらく"&H4D&H54&H68&H64"が生成されるのでしょう なので>>314 のコードは全く意味がありません。
323 名前:デフォルトの名無しさん (アウアウエー Sa13-c9t6) [2020/07/08(水) 06:49:42 ID:yrsbI81qa.net] >>321 > できれば、for next 構文はなしで こんな縛りが無ければ普通にググって出てくるし以下で出来るだろうけど 複数のセルを選択する officetanaka.net/excel/vba/tips/tips126.htm
324 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 07:11:29.93 ID:x0V53xaA0.net] つーかわざわざselectする意味あんの?
325 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 07:47:38.02 ID:8s/zJrIHa.net] わからないで書いてたのか
326 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 07:58:30.68 ID:krt5VVG+d.net] >>316 簡単だろw Dim btByte() As Byte Dim lngFN As Long btByte(0)=&H4D btByte(1)=&H54 btByte(2)=&H68 btByte(3)=&H54 btByte(4)=&H68 btByte(5)=&H64 lngFN=FreeFile Open strPath For Binary As #lngFN Put #lngFN, btByte Close #lngFN
327 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 08:02:35.63 ID:krt5VVG+d.net] >>326 途中で送信しちまった。 スマホで書いてるからどっか間違ってるかも。 Dim btByte() As Byte Dim lngFN As Long Redim btByte(5) As Byte btByte(0)=&H4D btByte(1)=&H54 btByte(2)=&H68 btByte(3)=&H54 btByte(4)=&H68 btByte(5)=&H64 lngFN=FreeFile Open strPath For Binary As #lngFN Put #lngFN, , btByte Close #lngFN
328 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 08:09:09.54 ID:krt5VVG+d.net] >>314 というかね、Variantとは何か、Byteは何かとか考えた方が良い。 扱える範囲が違うということはメモリ上のサイズが違うということ。 6個のバイナリって6Byteのファイルってことだろ。 Variant1個で16Byteだぞ。
329 名前:301 (ワッチョイ 2301-6wWl) [2020/07/08(水) 09:06:02 ID:gPwSdoJG0.net] みなさんレスありがとうございます。 感謝します。 >>327 ってことは、結局、↓でよいのでしょうか? Sub test() Dim btByte() As Byte Dim lngFN As Long ReDim btByte(5) As Byte btByte(0) = &H4D btByte(1) = &H54 btByte(2) = &H68 btByte(3) = &H54 btByte(4) = &H68 btByte(5) = &H64 lngFN = FreeFile Open "C:\hogehoge.bin" For Binary As #lngFN Put #lngFN, , btByte Close #lngFN End Sub
330 名前:301 (ワッチョイ 2301-6wWl) [2020/07/08(水) 09:09:44 ID:gPwSdoJG0.net] あるいは、↓ですかね? ↑も↓も「Open "C:\hogehoge.bin" For Binary As #lngFN」の業でパス名が無効です、というエラーがでます。 Sub test() Dim btByte() As Byte Dim lngFN As Long ReDim btByte(5) As Byte btByte(0) = &H4D btByte(1) = &H54 btByte(2) = &H68 btByte(3) = &H54 btByte(4) = &H68 btByte(5) = &H64 lngFN = btByte Open "C:\hogehoge.bin" For Binary As #lngFN Put #lngFN, , btByte Close #lngFN End Sub
331 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 09:23:12.29 ID:yuZwXh1F0.net] >>330 >>307 > 基礎になるソースさえ教えてもらえれば、そこに色々付け加えてって自分に必要なバイナリファイルが作れるんですよ。 もういいやろ
332 名前:301 (ワッチョイ 2301-6wWl) [2020/07/08(水) 09:32:29 ID:gPwSdoJG0.net] つか、 FreeFile関数ってのがあるんですね 知らなかったw
333 名前:301 (ワッチョイ 2301-6wWl) [2020/07/08(水) 09:38:09 ID:gPwSdoJG0.net] じゃあ、↓のドコが悪いんだろ? Sub test() Dim btByte() As Byte Dim lngFN As Long ReDim btByte(5) As Byte btByte(0) = &H4D btByte(1) = &H54 btByte(2) = &H68 btByte(3) = &H54 btByte(4) = &H68 btByte(5) = &H64 lngFN = FreeFile Open "C:\hogehoge.bin" For Binary As #lngFN Put #lngFN, , btByte Close #lngFN End Sub
334 名前:デフォルトの名無しさん (ワッチョイ bdda-ucCN) mailto:sage [2020/07/08(水) 09:40:18 ID:R5JQxD1z0.net] >>332 つか、知らないことの方が多いくせに知ったかすんな
335 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 10:17:02.56 ID:67N0qsNYr.net] >>333 「どこが悪いんだろ」 ではなく、 「下記のソースで実行すると〜というエラーが出ます。 調べたところこのエラーの意味は〜と理解していますが、〜と修正したら今度は〜というエラーが出ます。〜〜」 と言ったように、自分でなんとか解決したいという姿勢がないとサポートなんてしたくならないよ 本当は誰も君の相手なんかしなくてもいいんだ 君は人の時間をいただこうとしてることを考えること
336 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 10:25:36.83 ID:kC98LgO60.net] みんなやさしいよね どこまでも相手してあげてるんだから
337 名前:デフォルトの名無しさん [2020/07/08(水) 10:37:36.28 ID:vI+4Hlt3M.net] ハゲてきました。 市販の育毛剤で試すとエラーが出ます。 調べたところミノキシジルタブレットが聞くと理解しましたが、それを買って飲んだら今度は心臓ドキドキの副作用がでて命が危険だそうです。 どうしたらいいでしょうか?