[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2ch.scのread.cgiへ]
Update time : 07/24 13:47 / Filesize : 158 KB / Number-of Response : 580
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part67



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

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]
ハゲてきました。
市販の育毛剤で試すとエラーが出ます。
調べたところミノキシジルタブレットが聞くと理解しましたが、それを買って飲んだら今度は心臓ドキドキの副作用がでて命が危険だそうです。
どうしたらいいでしょうか?

338 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 10:37:36.28 ID:yuZwXh1F0.net]
暇つぶしでしょ

339 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 10:38:40.26 ID:yuZwXh1F0.net]
時間丸被りとかあんのな

340 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 10:41:28.04 ID:Fq6DmaU+0.net]
>>333
C:\に変なもの置くな

341 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 10:53:24.76 ID:Ywdztm8P0.net]
つーか動的配列にする意味あんの?

342 名前:デフォルトの名無しさん [2020/07/08(水) 12:08:46.81 ID:lp5P2pBOM.net]
>>341
行間を読め

343 名前:デフォルトの名無しさん [2020/07/08(水) 16:22:19.40 ID:0tPjVu1x0.net]
だから最初に馬鹿はお断りしときゃいいんだよ



344 名前:301 [2020/07/08(水) 17:12:58.80 ID:gPwSdoJG0.net]
つか、書き込み先を、D:\にしたら動いたwww
>>327さん、どうもありがとう!!!

こんなシンプルなソースでバイナリが書けるんです。
どんなにググッてもこんなにシンプルなソースは出て来ません。
vba史上の快挙です!

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 "D:\hogehoge.bin" For Binary As #lngFN
Put #lngFN, , btByte
Close #lngFN
End Sub

345 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 17:43:43.08 ID:4BPfKF9s0.net]
はい次の方

346 名前:301 [2020/07/08(水) 17:58:35.88 ID:gPwSdoJG0.net]
>>341
midiファイルというのはサイズが決まってないんですよ

347 名前:デフォルトの名無しさん [2020/07/08(水) 19:59:20.87 ID:7XVFoSLh0.net]
>>344
そりゃVBAではなく、VBですらなく
BASICの範疇だからな

基本過ぎてわざわざWEBに上げたりしない

348 名前:デフォルトの名無しさん (ワッチョイ a5ae-7/eX) [2020/07/08(水) 20:31:33 ID:cTUxRwdY0.net]
>>344
死ね

349 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 21:18:00.92 ID:J4iDAbFT0.net]
いつも馬鹿な質問ばかりで済みません。
Excelファイルをダブルクリックした際に他の人が先に開いていた場合、[読み取り専用]か、[通知]か聞かれます。
これをダイアログを出さずに最初から読専で開くようにすることは可能でしょうか?
(最初に開いた人は編集・保存できるという前提です)

外部から開く際のコントロールは簡単ですが、自分自身でコントロールするのは無理ですかね?
Workbook_Openでいろいろ試したのですが、どうもこのイベントよりも先にダイアログが発生しているようで、、、
無理だ、という回答でもいいです。ご意見ください。

350 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 21:25:31.07 ID:eeGZOJTWa.net]
>>349
https://www.shegolab.jp/entry/windows-excel-read-only

351 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 21:41:34.04 ID:eWJ0cHmK0.net]
>>349
まずちゃんと自分で調べよう
知識が伴ってないのにろくに調べもしないでは自分で解決どころか調べ方すら身に付かない

まぁ、はなから自分でやる気なんか無いのかもしれないが

352 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 21:42:45.60 ID:J4iDAbFT0.net]
>>350
情報ありがとうございます。
リンク先のものはだいたい既知の情報でした。
やっぱり自ファイルでの処理は難しそうですね。

353 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 21:46:48.09 ID:J4iDAbFT0.net]
>>351
いや、ここに書き込むときは相当調べて最後の頼みのつなで書き込んでます。
調べよう、と仰るということは、何かいい方法をご存じですか?



354 名前:蟻人間 mailto:sage [2020/07/08(水) 22:00:15.73 ID:wtc6YQgJ0.net]
>>353
ファイルの関連付けを変えて、マクロで迂回して。。。

。。。ここまで来るとウイルス判定かも(詳しい内容は自粛します)

355 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 22:05:22.90 ID:J4iDAbFT0.net]
>>354
う〜〜ん、あまり危ない橋は渡らないでおきます。

356 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 22:32:26.07 ID:R5JQxD1z0.net]
>>353
調べ方を調べてから言え

357 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 23:26:10.17 ID:J4iDAbFT0.net]
>>356
じゃあ、
>>349の繰り返しになりますが、、箇条書きにしますね。
●Excelファイルをダブルクリックした際の挙動についてです。
  ** つまり、外部から開くケースは除外です。(こちらのコントロールに苦はありません。昔から使っています)
    「外部から」とは、具体的には、、以下のケースなど。
    ・ Workbooks.Openの引数で制御する。(VBSからのOpenも含む)
    ・ ContextMenuの"新規作成"で開く。
●他の人が開いていた場合のケースです。
  ** 最初に開いている人は編集・保存ができる前提です。
    → つまり、FileAttributeを最初からReadOnlyにするケースは除外です。
●上記の際の、[読専]|[通知]を聞いてくるDialogをバイパスしたい。
  ** 「最初から読専で開きたいわけではなく、誰かが開いているときは最初から読専にしたい」
    → つまり外部から開くケースにあたらない。
● 自ファイル側で判定したい、、、Workbook_Openで試したが、このイベントより先に
  ダイアログが発生してる。

>>349とほぼ同じ内容ですが、これだけ書けばどこまでの理解で何を試したか読み取れますか?

358 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 23:40:00.14 ID:4BPfKF9s0.net]
てかそんなんできたらマルウェアの温床になるから出来ないって思っとけよ
共有化でも足りないんならあきらめろん

359 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 23:44:27.92 ID:J4iDAbFT0.net]
>>358
よくわかりませんが、わかりました。
本件Closeで。

360 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 00:12:21.12 ID:dz7PM5ALa.net]
>>346
midiはファイルの種類じゃない

361 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 00:12:27.29 ID:ylhvfSy00.net]
ファイルが書き込めない状態になってたら読み取り専用で開けばいいだけじゃん

362 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 00:13:47.48 ID:dz7PM5ALa.net]
>>357
きもい

363 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 00:17:27.90 ID:dz7PM5ALa.net]
社会で他の人も使うファイル勝手にいじるなよ



364 名前:デフォルトの名無しさん (ワッチョイ cbdd-7n2a) mailto:sage [2020/07/09(木) 00:44:28 ID:HzjnRl+40.net]
>>363
お前には聞いてないから大丈夫だよ。
じゃ、お休み。

365 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 02:16:40.71 ID:eQo6hEQpa.net]
>>364
おまえに言ってない

366 名前:デフォルトの名無しさん (ワッチョイ a58b-GkYD) mailto:sage [2020/07/09(木) 03:10:18 ID:rHxVo6X00.net]
IE制御のついての質問。
マクロでIE制御を使ってウェブ情報を取り込んでいるんですが、連続で作動させると稀に止まることがあります。
バグった時にタスクマネージャーの詳細をみると毎回「ielowutil.exe」のプロセスだけ残ってるんですよね。
タスクマネージャーでielowutil.exe を右クリックして強制終了させると、また上手く作動するんですが、この ielowutil.exe プロセスを強制的に終了させるコードとかないですかね。

ぐぐっても英語とか読めないのでわからない。誰か助けて
https://www.mrexcel.com/board/threads/vba-automation-error-2125463506-8150002e.1079769/

367 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 03:59:15.57 ID:uBlORkna0.net]
taskkill /im ielowutil.exe
なんでもかんでもExcelでやろうとするな

368 名前:301 (ワッチョイ 2301-6wWl) [2020/07/09(木) 05:30:09 ID:C69oBRyL0.net]
つか、>>344のソースの

> ReDim btByte(5) As Byte
> btByte(0) = &H4D
> btByte(1) = &H54
> btByte(2) = &H68
> btByte(3) = &H54
> btByte(4) = &H68
> btByte(5) = &H64
この部分で、btByteという変数に6個の16進数を代入していますが、もっとエレガントに代入する方法はないでしょうか?
実は定型文みたいのを50個ぐらい入れなきゃならないのです。

369 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 06:03:23.76 ID:hGjJ3XRlM.net]
ないです
次の方どうぞ

370 名前:デフォルトの名無しさん (スプッッ Sd93-56/R) mailto:sage [2020/07/09(木) 06:34:39 ID:pd2EiZRKd.net]
>>368
そういうのは、あらかじめ用意したバイナリファイルから読み込んだ方がいいと思うんだけど
どうしてもソースに大量の16進数を直接書きたいなら
配列を使う方法
h = Array(&H4D, &H54, &H68, &H54, &H68, &H64)
For i = 0 To 5
 btByte = h(i)
Next

文字列を使う方法
h = "4D,54,68,54,68,64"
For i = 0 To 5
 btByte(i) = Val("&H" & Mid(h, i * 3 + 1, 2))
Next

371 名前:301 (ワッチョイ 2301-6wWl) [2020/07/09(木) 06:37:41 ID:C69oBRyL0.net]
>>370
ありがとうございます。 感謝します。

372 名前:デフォルトの名無しさん (スプッッ Sd93-56/R) mailto:sage [2020/07/09(木) 06:38:57 ID:pd2EiZRKd.net]
文字列を使う方法2
h = "4D,54,68,54,68,64"
For i = 0 To 5
 btByte(i) = Val("&H" & Split(h, ",")(i))
Next

373 名前:デフォルトの名無しさん (アウアウウー Sa09-X/TW) mailto:sage [2020/07/09(木) 06:57:38 ID:150ctWWia.net]
エレガント?



374 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 07:48:49.30 ID:3iI6FAhKd.net]
>>368
そのエレガントな方法を考えるのがプログラミングなんじゃないの?
50個をコードでどうにかするなら、それをコードに書かにゃならんからエレガントにはならん。
別の所に持って良いなら別途ファイルを用意しとけば良い。
設定とか50個程度ならどっかのシートに書いとくとかでも良い。

375 名前:デフォルトの名無しさん (オッペケ Sra1-OOGl) mailto:sage [2020/07/09(木) 07:58:21 ID:8/Q//t/ar.net]
ほんとコードくれくれ君は自分で何も考えないな
あげる方も頭おかしいが

376 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 10:13:45.21 ID:tVMvaFoW0.net]
激しく同意する
ちなみにバイナリを作成するやり方で実行ファイルが作れるのでウイルシなんかも作れてしまうわけだが

377 名前:デフォルトの名無しさん (ワッチョイ cbb0-mXGD) mailto:sage [2020/07/09(木) 10:32:17 ID:VstlXiSO0.net]
モジュールから単体動作する関数を切り取って、別のモジュールにコピーしたのですが
変数の宣言がないとエラー表示されました。何度見ても宣言は正しくされているので?です。
新しく変数宣言して、置き換えると動作します。
こんなことあるのですか?

378 名前:デフォルトの名無しさん (ワッチョイ 2d7c-6wWl) mailto:sage [2020/07/09(木) 10:47:12 ID:ylhvfSy00.net]
>>377
変数?定数?

379 名前:デフォルトの名無しさん (ワッチョイ cbb0-mXGD) mailto:sage [2020/07/09(木) 10:48:52 ID:VstlXiSO0.net]
すみません。変数ではなく定数(const)でした。

380 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 10:53:22.69 ID:ylhvfSy00.net]
>>379
グローバルな定数?

381 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 11:12:09.02 ID:VstlXiSO0.net]
ローカルです。

382 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 11:19:56.91 ID:JYozEgDc0.net]
option explicitの有無は?

383 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 11:21:50.10 ID:DLLEuHaFa.net]
>>376
みんなわざわざ煙に巻いてるのに言っちゃ



384 名前:デフォルトの名無しさん (ワッチョイ cbb0-mXGD) mailto:sage [2020/07/09(木) 11:26:19 ID:VstlXiSO0.net]
>>382
option explicitはあります。

385 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 11:30:45.63 ID:ylhvfSy00.net]
>>384
稀に起こるが原因は不明
エラーになった定数の宣言行を切り取り貼り付けすればとりあえず治る






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<158KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef