!extend:checked:vvvvv:1000:512
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part62
https://mevius.5ch.net/test/read.cgi/tech/1561303297/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Excel VBA 質問スレ Part63
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ d3d0-EPXH)
2019/09/16(月) 19:34:59.04ID:emfTAhXr0532デフォルトの名無しさん (アークセー Sx47-7WON)
2019/10/30(水) 22:34:12.92ID:JfXI2Ieyx533デフォルトの名無しさん (ワッチョイ 23c4-BHPo)
2019/10/30(水) 23:11:10.26ID:iRK6fdCa0 >>529
すまん、コード会社にあるから書けないけど、やりたい事はそんな感じ。
最初にカンマでsplitして配列に入れてからfor〜nextで0からuboundで最後まで繰り返して「-」になってる範囲を数字にバラしてその間の数字を作って配列に入れ直して…
とかやってたらコードぐちゃぐちゃ、頭の中もぐちゃぐちゃに…orz
すまん、コード会社にあるから書けないけど、やりたい事はそんな感じ。
最初にカンマでsplitして配列に入れてからfor〜nextで0からuboundで最後まで繰り返して「-」になってる範囲を数字にバラしてその間の数字を作って配列に入れ直して…
とかやってたらコードぐちゃぐちゃ、頭の中もぐちゃぐちゃに…orz
534デフォルトの名無しさん (ワッチョイ cf8e-FPtM)
2019/10/30(水) 23:22:56.07ID:rL303qhu0 >>533
馬鹿には無理ってことだよ
馬鹿には無理ってことだよ
535デフォルトの名無しさん (JP 0Hff-Aa88)
2019/10/30(水) 23:42:55.97ID:+vGa/LGgH ソートを自前で書くのは速度的にもメリット無いし作業シート用意した方がいいと思う
そういうとこで苦労するのはちょっと時間の無駄かなとも思うし
そういうとこで苦労するのはちょっと時間の無駄かなとも思うし
536デフォルトの名無しさん (アークセー Sx47-7WON)
2019/10/30(水) 23:56:52.02ID:6F3AzkQ1x >>533
配列を作るところまでは多分いけるんだろうけど、問題はソートなんじゃないの?
配列のソートをサポートしてる.NETのArrayListオブジェクトはVBAでも使えるので、CreateObject("System.Collections.ArrayList")でインスタンス生成してAddメソッドで配列を渡して使うといいよ
Revereメソッドを噛ませてからToArrayメソッドで再度配列化して配列変数に再格納すれば一発で降順ソートされた配列を取得できる
配列を作るところまでは多分いけるんだろうけど、問題はソートなんじゃないの?
配列のソートをサポートしてる.NETのArrayListオブジェクトはVBAでも使えるので、CreateObject("System.Collections.ArrayList")でインスタンス生成してAddメソッドで配列を渡して使うといいよ
Revereメソッドを噛ませてからToArrayメソッドで再度配列化して配列変数に再格納すれば一発で降順ソートされた配列を取得できる
537デフォルトの名無しさん (ワッチョイ 4a02-d0HK)
2019/10/31(木) 01:50:11.06ID:Xu0ModTh0 Excel2016/32bitで作成したマクロをExcel2019/64bitのパソコンに移動すると途中でExcel自体が落ちてしまいます
この場合、2019にしたこと、64bitにしたこと、どちらが原因と考えられるでしょうか?
この場合、2019にしたこと、64bitにしたこと、どちらが原因と考えられるでしょうか?
538デフォルトの名無しさん (アウアウウー Sa2f-RHCh)
2019/10/31(木) 06:48:15.19ID:P+363w9Wa そのくらいしらべられないの?
539デフォルトの名無しさん (アークセー Sx03-9ZEm)
2019/10/31(木) 08:04:58.17ID:6oU9RGLEx >>537
動かないマクロファイルのファイル形式は?
動かないマクロファイルのファイル形式は?
540デフォルトの名無しさん (ワッチョイ 4a02-d0HK)
2019/10/31(木) 10:03:55.60ID:Xu0ModTh0541デフォルトの名無しさん (ワッチョイ 4a02-d0HK)
2019/10/31(木) 10:04:33.47ID:Xu0ModTh0 ちなみに動く時もありますがたまに落ちるという不安定な状態です
542デフォルトの名無しさん (ワッチョイ de8e-D9gH)
2019/10/31(木) 11:41:33.83ID:EmOHV2200 また馬鹿が来た
543デフォルトの名無しさん (スフッ Sdea-t/t6)
2019/10/31(木) 12:23:33.00ID:aNgqFqurd >>540
何をどう調べてどういう結果になったの?
何をどう調べてどういう結果になったの?
544デフォルトの名無しさん (アウアウクー MM43-ppJP)
2019/10/31(木) 12:30:33.86ID:oEJHLRECM 533です。
結局分割をしたデータをセルに置いてソートをさせて配列に入れるコードで問題なく動きました。
ありがとうございました。
変にVBAてわ全てやろうとせずにすればここまで時間かけずに済んだのですね…orz
結局分割をしたデータをセルに置いてソートをさせて配列に入れるコードで問題なく動きました。
ありがとうございました。
変にVBAてわ全てやろうとせずにすればここまで時間かけずに済んだのですね…orz
545デフォルトの名無しさん (ドコグロ MM0b-+xQI)
2019/10/31(木) 12:42:50.28ID:H1H2bMOCM どうせマクロ作った奴が手抜きしててエラーになったらApplication.Quit()してるとかじゃね
みんなエスパーじゃないんだからコード上げられないなら自分でチマチマデバッグしなよ
みんなエスパーじゃないんだからコード上げられないなら自分でチマチマデバッグしなよ
546デフォルトの名無しさん (ブーイモ MMea-i/e8)
2019/10/31(木) 16:13:16.49ID:yyoRZlBtM547デフォルトの名無しさん (ワッチョイ c605-qQ6b)
2019/11/01(金) 00:20:58.64ID:bbcNS1Ni0 VBSスレが過疎り過ぎているのとWSHのスレが無いことから、ここでVBSの質問させて下さい。
WshShellのRunメソッドを使ってTortoiseSVNのダイアログを呼び出すプログラムを書いているのですが、引数1を入れてもウィンドウが最前面に来てくれません。
Runした後にAppActivateメソッドを使ってもだめです。誰か、解決策をご存じの方、よろしくお願い申し上げます。
WshShellのRunメソッドを使ってTortoiseSVNのダイアログを呼び出すプログラムを書いているのですが、引数1を入れてもウィンドウが最前面に来てくれません。
Runした後にAppActivateメソッドを使ってもだめです。誰か、解決策をご存じの方、よろしくお願い申し上げます。
548デフォルトの名無しさん (ワッチョイ c610-HjOu)
2019/11/01(金) 00:46:23.89ID:txYCNlM40 tortoiseSVNとやらを触った事ないけど、
tortoiseSVNだけ起こる事象なの?他のNotepadとかでは試しました?
tortoiseSVNだけ起こる事象なの?他のNotepadとかでは試しました?
549デフォルトの名無しさん (ワッチョイ c610-HjOu)
2019/11/01(金) 01:08:36.00ID:txYCNlM40 spy++とかで窓id探ってapi使ってhandleできないかな
550デフォルトの名無しさん (ワッチョイ c610-HjOu)
2019/11/01(金) 01:38:24.11ID:txYCNlM40 >>536
レコードセット以外にも色んな方法があるものだね。勉強になったありがとう。
レコードセット以外にも色んな方法があるものだね。勉強になったありがとう。
551デフォルトの名無しさん (ワッチョイ 0b7c-qp9g)
2019/11/01(金) 16:54:14.94ID:BenAXzvv0 こちらのページ(https://www.sejuku.net/blog/99122)に記載されている
PDFをテキスト抽出してエクセルに貼るマクロを利用したいのですが、
ファイルとフォルダのパスを固定した記述になっているため、
ベースとなるPDFファイルを選択できるようにしたいのですがどなたか教えていただけないでしょうか。
↓のアスタリスク部分をどうにかすればと2時間戦いましたがどうにもできませんでした...
'PDFのデータをExcelに読み込むメイン処理
Sub Main()
'PDFファイルをテキストに変換するための定数を用意
* Const fileName = "*****"
* Const folderPath = "C:\Users\*****\"
Const pdfFilePath = folderPath & fileName & ".pdf"
Const txtFilePath = folderPath & fileName & ".txt"
'PDFファイルをテキストに変換
Call convPDFtoText(fileName, folderPath, pdfFilePath, txtFilePath)
'テキストデータをExcelに読み込む
Call importTxtData(txtFilePath)
End Sub
PDFをテキスト抽出してエクセルに貼るマクロを利用したいのですが、
ファイルとフォルダのパスを固定した記述になっているため、
ベースとなるPDFファイルを選択できるようにしたいのですがどなたか教えていただけないでしょうか。
↓のアスタリスク部分をどうにかすればと2時間戦いましたがどうにもできませんでした...
'PDFのデータをExcelに読み込むメイン処理
Sub Main()
'PDFファイルをテキストに変換するための定数を用意
* Const fileName = "*****"
* Const folderPath = "C:\Users\*****\"
Const pdfFilePath = folderPath & fileName & ".pdf"
Const txtFilePath = folderPath & fileName & ".txt"
'PDFファイルをテキストに変換
Call convPDFtoText(fileName, folderPath, pdfFilePath, txtFilePath)
'テキストデータをExcelに読み込む
Call importTxtData(txtFilePath)
End Sub
552デフォルトの名無しさん (オッペケ Sr03-9ZEm)
2019/11/01(金) 18:51:05.73ID:tcQFOgygr >>551
GetOpenFilenameでパスとファイル名を取得
GetOpenFilenameでパスとファイル名を取得
553デフォルトの名無しさん (ササクッテロル Sp03-HTwX)
2019/11/01(金) 19:03:05.01ID:qpEsTrFRp >>536
.Netのオブジェクトが使えるというのは
正直目からウロコだった。
いいね。.Net使いの俺からすると
機能に制限があるとは言っても有り難い。
ただ、参照設定して使っても
インテリセンスが効かないのが
ちょっと玉に瑕だけど。
.Netのオブジェクトが使えるというのは
正直目からウロコだった。
いいね。.Net使いの俺からすると
機能に制限があるとは言っても有り難い。
ただ、参照設定して使っても
インテリセンスが効かないのが
ちょっと玉に瑕だけど。
554デフォルトの名無しさん (ワッチョイ 4ada-QPqB)
2019/11/01(金) 19:13:41.95ID:VrCKg/E/0 >>532
試してないけど、クリック→ドロップボタンクリックにしたら発動しなくなったから、もうそれでいいやw
1クリックで2回動くのが嫌だけど。
いちいち、2回に1回Exitする処理入れないといけないし。
試してないけど、クリック→ドロップボタンクリックにしたら発動しなくなったから、もうそれでいいやw
1クリックで2回動くのが嫌だけど。
いちいち、2回に1回Exitする処理入れないといけないし。
555デフォルトの名無しさん (ワッチョイ 4ada-QPqB)
2019/11/01(金) 19:19:03.89ID:VrCKg/E/0 ↑ダメだったwww
発動しないけど、何もしてないのに保存しますか?って聞いてくる現象が直ってないww
イベント関係ないのか。
発動しないけど、何もしてないのに保存しますか?って聞いてくる現象が直ってないww
イベント関係ないのか。
556デフォルトの名無しさん (ワッチョイ cb01-ysfy)
2019/11/01(金) 19:19:33.63ID:uwtpA0hM0 >>553
IListインターフェースを通せばメンバが見れる
IListインターフェースを通せばメンバが見れる
557デフォルトの名無しさん (ワッチョイ 07ce-qV4/)
2019/11/01(金) 21:38:56.17ID:GexbRJ7D0 >>553
スニペット出す方法あるよ
スニペット出す方法あるよ
558デフォルトの名無しさん (ブーイモ MM27-VCHd)
2019/11/02(土) 10:38:29.89ID:Rmc9OzBRM >>557
教えて
教えて
559デフォルトの名無しさん (ワッチョイ 0b7c-BUT5)
2019/11/02(土) 11:50:26.19ID:Wmiw+MGb0560デフォルトの名無しさん (ラクペッ MMfb-KqWR)
2019/11/02(土) 17:21:27.20ID:ZDwGDXirM >>557
CreateObjectせず使う方法があるのか
CreateObjectせず使う方法があるのか
561デフォルトの名無しさん (スフッ Sdea-xAfC)
2019/11/02(土) 17:29:13.96ID:wtbfu1Hrd ペニスット
562デフォルトの名無しさん (ワッチョイ ca79-fRYr)
2019/11/02(土) 17:58:11.63ID:71SUtLbe0 わかる
563デフォルトの名無しさん (アウアウウー Sa2f-wGfw)
2019/11/02(土) 18:30:05.20ID:PiAf5Ioqa VBAスレはみんな頭悪そうだなぁ
564デフォルトの名無しさん (ワッチョイ 0668-qV4/)
2019/11/02(土) 19:38:01.12ID:iaRIGfJY0 >>561
誰もが思うよな
誰もが思うよな
565デフォルトの名無しさん (ワッチョイ 4ada-QPqB)
2019/11/02(土) 19:39:08.44ID:FVhvHALx0 面白いこと考えるよな。
シートに貼ってソートか、SQLのORDER BYしか思いつかんかったわ。
シートに貼ってソートか、SQLのORDER BYしか思いつかんかったわ。
566デフォルトの名無しさん (ワッチョイ 4a42-ANgw)
2019/11/02(土) 23:15:53.80ID:yMKMWSCL0 >>563
見下したところでお前のほうが格上になったわけじゃないんだぜ
見下したところでお前のほうが格上になったわけじゃないんだぜ
567デフォルトの名無しさん (ワッチョイ 4ada-QPqB)
2019/11/02(土) 23:34:47.29ID:FVhvHALx0568デフォルトの名無しさん (ドコグロ MM02-+xQI)
2019/11/02(土) 23:38:18.19ID:neC/7x9UM >>566
いちいち構うなよ…
いちいち構うなよ…
569デフォルトの名無しさん (ワッチョイ ca59-xAfC)
2019/11/03(日) 00:02:25.36ID:uWoEfwnV0 おならが止まらん
570デフォルトの名無しさん (ワッチョイ 1bc4-5gQh)
2019/11/03(日) 04:16:21.62ID:C9sdk88g0 ユーザーフォームが表示されてる状態でキーボードのキーの組み合わせ(ctrl+何かとか)をした際にだけ、フォーム上に表示される様にするにはどう言ったコードにすればいいでしょう?
571デフォルトの名無しさん (アークセー Sx03-9ZEm)
2019/11/03(日) 05:12:05.86ID:dj0payfvx >>570
UserFormのKeyDownイベントで拾う
たとえばUserFormの上でCtrlキーとAキーが同時に押されたときにCommandButton1を表示するという処理なら下のようになる
押された文字キーを示すキーコードは引数KeyCodeに定数で格納されるけど、Aキー以外の文字キーにしたいなら定数は自分で調べてくれ
あと次からは何を表示したいのか目的語をきちんと書くように
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 65 And Shift = vbCtrlMask Then Me.CommandButton1.Visible = True
End Sub
UserFormのKeyDownイベントで拾う
たとえばUserFormの上でCtrlキーとAキーが同時に押されたときにCommandButton1を表示するという処理なら下のようになる
押された文字キーを示すキーコードは引数KeyCodeに定数で格納されるけど、Aキー以外の文字キーにしたいなら定数は自分で調べてくれ
あと次からは何を表示したいのか目的語をきちんと書くように
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 65 And Shift = vbCtrlMask Then Me.CommandButton1.Visible = True
End Sub
572デフォルトの名無しさん (ブーイモ MM4f-VCHd)
2019/11/03(日) 05:37:41.26ID:ZKxIvhRAM Withってコーティングの手間を省く、見映え以外に良いこと有りますか?
573デフォルトの名無しさん (ドコグロ MM02-+xQI)
2019/11/03(日) 06:42:19.84ID:RKQY4+qlM >>572
Dim S As Xxx
Set S = Yyy
S.Abc = …
S.Def = …
より
With Yyy
.Abc = …
.Def = …
End With
の方が微妙に速いとかもあったかも
まあ気にするほどの差はない
Dim S As Xxx
Set S = Yyy
S.Abc = …
S.Def = …
より
With Yyy
.Abc = …
.Def = …
End With
の方が微妙に速いとかもあったかも
まあ気にするほどの差はない
574デフォルトの名無しさん (ワッチョイ 1bc4-5gQh)
2019/11/03(日) 08:20:53.85ID:C9sdk88g0575デフォルトの名無しさん (ワッチョイ c610-HjOu)
2019/11/03(日) 09:38:51.22ID:459Gcksu0 まず変数名を考えなくて良いという点、
それから、end with で破棄(解放)される点
それから、end with で破棄(解放)される点
576デフォルトの名無しさん (アークセー Sx03-9ZEm)
2019/11/03(日) 13:54:04.03ID:dj0payfvx 逆にWithステートメントで取得した参照がEnd Withまで静的に保持される点は注意すべきポイントでもある
例えばWith ActiveSheet で始まるWithブロック内で他シートをアクティブにしても、ドットでアクセス提供されるメンバの親はWith宣言時点のActiveSheetになるからな
例えばWith ActiveSheet で始まるWithブロック内で他シートをアクティブにしても、ドットでアクセス提供されるメンバの親はWith宣言時点のActiveSheetになるからな
577デフォルトの名無しさん (ドコグロ MM02-l9Pq)
2019/11/04(月) 01:41:27.33ID:uMNIwQlPM Withの読み方はウイズだと思うけど書くときの頭の中はいつもウイテンなのは俺だけなのかな
578デフォルトの名無しさん (ワッチョイ 4ada-QPqB)
2019/11/04(月) 02:38:13.83ID:C7VrCGoL0 読み方があってるかどうか不安なのはあるな。
ナンバーフォーマットローカルとか。
ナンバーフォーマットローカルとか。
579デフォルトの名無しさん (ブーイモ MMea-HjOu)
2019/11/04(月) 02:46:05.97ID:Y6Gluo6PM バリアントであってる?w
580デフォルトの名無しさん (ワッチョイ 4ada-QPqB)
2019/11/04(月) 03:13:21.06ID:C7VrCGoL0 最初は、ヤッホージャパンって何だよwwwって思ったな。
581デフォルトの名無しさん (アークセー Sx03-9ZEm)
2019/11/04(月) 03:53:28.93ID:CYpqTCzkx むかしFalseのことファルスって読んでた
ファルスがギリシャ語で陰部を意味する単語だと知ったのは最近
ファルスがギリシャ語で陰部を意味する単語だと知ったのは最近
582デフォルトの名無しさん (ワッチョイ 07ce-qV4/)
2019/11/04(月) 09:39:04.15ID:gB0LOFjS0 滅びの呪文
583デフォルトの名無しさん (ワッチョイ 67da-NOwR)
2019/11/04(月) 14:50:42.78ID:O9lg7NQ30 w
584デフォルトの名無しさん (ワイーワ2 FF82-Se/k)
2019/11/05(火) 18:34:38.01ID:CrKvYzfVF585デフォルトの名無しさん (ラクペッ MMfb-KqWR)
2019/11/05(火) 18:44:36.75ID:v4Zm9Tj+M >>581
20年以上ファルスと読んでた。最近Youtubeでフォルスだと知った。Bluetoothを何度教えてもブルースと読む同僚を笑えない。
20年以上ファルスと読んでた。最近Youtubeでフォルスだと知った。Bluetoothを何度教えてもブルースと読む同僚を笑えない。
586デフォルトの名無しさん (スププ Sdea-uEAZ)
2019/11/05(火) 18:50:10.04ID:W9mxYkl/d >>585
ワイの周りにもファルス詠みはたくさんいる。中高の英語の勉強で発音記号見たことあるはずなのに
ワイの周りにもファルス詠みはたくさんいる。中高の英語の勉強で発音記号見たことあるはずなのに
587デフォルトの名無しさん (ワッチョイ 9f7c-a6AK)
2019/11/05(火) 19:54:14.94ID:zWfG7OZu0 教えてくれた先生がファルスだったので周りもみんなファルス読み
588デフォルトの名無しさん (アウアウウー Sa2f-NOwR)
2019/11/05(火) 20:22:41.01ID:JryaN2pta 上司からフォルスで教わった
589デフォルトの名無しさん (ワッチョイ 6f5f-ANgw)
2019/11/05(火) 21:16:39.16ID:rpaa5EWu0 フォルス?フォールスだろ?
英語知らんのかな
英語知らんのかな
590デフォルトの名無しさん (ワッチョイ 4a42-ANgw)
2019/11/05(火) 21:29:26.89ID:hUdA7EQo0 ファーストフードがいつの間にかファストフードになってるようなもんだろ
591デフォルトの名無しさん (ワッチョイ 6f5f-ANgw)
2019/11/05(火) 21:32:19.18ID:rpaa5EWu0 いや単にバカなだけだろw
592デフォルトの名無しさん (ワッチョイ caea-lfDl)
2019/11/05(火) 22:00:02.40ID:Y2zra18+0 >>589
発音記号みると、どっちもあるみたいだね。
発音記号みると、どっちもあるみたいだね。
593デフォルトの名無しさん (ワッチョイ c610-HjOu)
2019/11/05(火) 22:35:00.66ID:ah8KxcV+0 カタカナに当てはめるんじゃないfalseはfalseだぜ
594デフォルトの名無しさん (アウアウエー Sac2-x9nz)
2019/11/05(火) 22:50:55.14ID:yUheLICMa ファォッルスッ!
595デフォルトの名無しさん (ワッチョイ c610-HjOu)
2019/11/05(火) 22:52:22.61ID:ah8KxcV+0 ふぁっぁく!
596デフォルトの名無しさん (ワッチョイ 4aa2-aDcy)
2019/11/05(火) 23:47:59.23ID:7oZHxMow0 野球のファールみたいなもんだろ
よってファールスで
よってファールスで
597デフォルトの名無しさん (ワッチョイ de61-DOEl)
2019/11/06(水) 06:04:23.35ID:jiZZUv+M0598デフォルトの名無しさん (ワッチョイ de61-DOEl)
2019/11/06(水) 06:44:01.06ID:jiZZUv+M0599デフォルトの名無しさん (ワッチョイ 4ada-QPqB)
2019/11/06(水) 19:00:52.62ID:XsHQlDv60 ん?
ムサンバニかモーサンバーニーかっていう話?
ムサンバニかモーサンバーニーかっていう話?
600デフォルトの名無しさん (アウアウウー Sa2f-NOwR)
2019/11/06(水) 19:53:02.84ID:3KrvKGm6a ピッツァのことか
601デフォルトの名無しさん (オッペケ Sr0f-I9Tk)
2019/11/07(木) 00:18:34.56ID:Vgod5FHRr すみません。
最新のWindows10でVBAを実行したところ、VBScript.RegExpのCreateObjectに失敗しました。
IEのVBS機能が無効化された影響によるものでしょうか?
回避策等ありますでしょうか?
最新のWindows10でVBAを実行したところ、VBScript.RegExpのCreateObjectに失敗しました。
IEのVBS機能が無効化された影響によるものでしょうか?
回避策等ありますでしょうか?
602デフォルトの名無しさん (アークセー Sx0f-Arvb)
2019/11/07(木) 03:57:12.24ID:sFRacxbxx >>601
試してないけどJScriptを使ったらどうかな
32bit環境ならScriptControl オブジェクトをCreateObjectで生成してJScriptの正規表現を使う
62bit環境ならMSHTMLオブジェクトでIEのエンジンのJScript実行環境を生成して、そこからJScriptの正規表現を使う
試してないけどJScriptを使ったらどうかな
32bit環境ならScriptControl オブジェクトをCreateObjectで生成してJScriptの正規表現を使う
62bit環境ならMSHTMLオブジェクトでIEのエンジンのJScript実行環境を生成して、そこからJScriptの正規表現を使う
603デフォルトの名無しさん (ワッチョイ 0fcc-OQ0I)
2019/11/07(木) 19:03:46.63ID:JqbJgiKT0 同じフォルダ内の他のファイルを削除しようとすると
ファイルは削除されますが、
「実行時エラー'70': 書き込みできません。」
がでて処理が止まります。
Dim aa As String
aa = ThisWorkbook.Path & "\"
Kill aa & "*.*"
どうすれば止まらずに処理できますか
ファイルは削除されますが、
「実行時エラー'70': 書き込みできません。」
がでて処理が止まります。
Dim aa As String
aa = ThisWorkbook.Path & "\"
Kill aa & "*.*"
どうすれば止まらずに処理できますか
604デフォルトの名無しさん (ワッチョイ 0f8e-8UzB)
2019/11/07(木) 19:14:00.49ID:JuEkRQF70 >>603
自分の手で自分の頸を吊ってみればわかるぞ
自分の手で自分の頸を吊ってみればわかるぞ
605デフォルトの名無しさん (アークセー Sx0f-Arvb)
2019/11/07(木) 19:14:43.23ID:A6k0oUZwx >>603
ThisworkbookそのものをKillしようとして失敗してる
ThisworkbookそのものをKillしようとして失敗してる
607デフォルトの名無しさん (ワッチョイ fb7c-Sray)
2019/11/07(木) 19:51:15.23ID:DHbfNndS0 >>606
ひとつずつ確認しながら消す
ひとつずつ確認しながら消す
608デフォルトの名無しさん (アウアウウー Sacf-GHlP)
2019/11/07(木) 19:54:49.91ID:Hld4e4lOa エラー処理いれる
609デフォルトの名無しさん (ワントンキン MMbf-cnl9)
2019/11/07(木) 19:56:45.33ID:5uk1oCuaM611デフォルトの名無しさん (ワッチョイ 0f8e-8UzB)
2019/11/07(木) 20:19:39.30ID:JuEkRQF70 >>610
馬鹿は死ねよ
馬鹿は死ねよ
612デフォルトの名無しさん (アウアウウー Sacf-GHlP)
2019/11/07(木) 20:29:48.40ID:Hld4e4lOa >>610
607のやり方がいいと思うぞ
607のやり方がいいと思うぞ
613デフォルトの名無しさん (ワッチョイ fb7c-Sray)
2019/11/07(木) 20:32:08.30ID:DHbfNndS0 >>609
thisworkbookを消そうとした時以外でも同じエラーが出ることがある
thisworkbookを消そうとした時以外でも同じエラーが出ることがある
614デフォルトの名無しさん (ワッチョイ 8b01-U1MJ)
2019/11/07(木) 20:46:34.17ID:gQ6uYn6M0 例外前提の分岐とか一番やっちゃいけないだろ
615デフォルトの名無しさん (ワッチョイ 5bda-AXNO)
2019/11/08(金) 03:21:06.91ID:ebkgjtQt0 kill *.* とか普通は怖くてできないぞ
616デフォルトの名無しさん (アークセー Sx0f-Arvb)
2019/11/08(金) 03:24:31.82ID:TcyEUh9gx FileSystemObjectとか使えばいいのに
617デフォルトの名無しさん (ワッチョイ ef10-wQYL)
2019/11/08(金) 07:35:20.51ID:/14Ittk50 https://gigazine.net/amp/20191107-drum-machine-in-excel
スーパーテクを俺に継承してくれw
スーパーテクを俺に継承してくれw
618デフォルトの名無しさん (アークセー Sx0f-Arvb)
2019/11/09(土) 08:05:58.77ID:FLPipJw+x >>603
Dim fso As Object
Dim fr As Object
Dim fl As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set fr = fso.GetFolder(ThisWorkbook.Path)
On Error Resume Next
For Each fl In fr.Files
If fl.Name <> ThisWorkbook.Name Then
fl.Delete
If Err.Number <> 0 Then
Debug.Print "Err.Number:" & Err.Number &" FileName:" & fl.Name
Err.Clear
End If
End If
Next fl
Dim fso As Object
Dim fr As Object
Dim fl As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set fr = fso.GetFolder(ThisWorkbook.Path)
On Error Resume Next
For Each fl In fr.Files
If fl.Name <> ThisWorkbook.Name Then
fl.Delete
If Err.Number <> 0 Then
Debug.Print "Err.Number:" & Err.Number &" FileName:" & fl.Name
Err.Clear
End If
End If
Next fl
619デフォルトの名無しさん (ブーイモ MMbf-NtqY)
2019/11/09(土) 09:04:21.85ID:DhErEMKcM Dim wb as Workbook
...
wbが開いているか閉じられているか確認する方法ありますか?
...
wbが開いているか閉じられているか確認する方法ありますか?
620デフォルトの名無しさん (ワッチョイ eff7-jCOF)
2019/11/09(土) 09:50:21.72ID:s5KKViGX0 For Each wb in workbooks で名前やパスをチェックするとか
621デフォルトの名無しさん (アークセー Sx0f-Arvb)
2019/11/09(土) 10:39:45.65ID:YT93jrBPx >>620
そのやり方だとNASとかにある共有ファイルを他人が開いてる場合には判定不可能
>>619
対象のファイルをエクセルファイルとして開かずにVB6のOpen ステートメントの追記モードで開くのがオーソドックスなやり方
他のユーザーエンティティが編集権をロックした状態だとファイルが開けずエラーが発生することを利用する
エラーコードを調べて0より大きい場合はファイルが開かれている、そうでなければファイルが開かれていないと判断する
ただし負荷対策が最適化されていないネットワーク環境でサーバーの応答が遅くなっている場合、数分前に誰かが閉じたファイルを開いていると判定してしまうので要注意
'サンプルコード
Sub Sample()
If IsFileOpened("任意のブックのフルパス") Then
MsgBox "開かれています"
Else
MsgBox "開かれていません"
End If
End Sub
Function IsFileOpened(fliepath as String) As Boolean
On Error Resume Next
Open filepath For Append As #1
Close #1
If Err.Number > 0 Then
IsFileOpened = True
Err.Clear
Else
IsFileOpened = False
End If
End Function
そのやり方だとNASとかにある共有ファイルを他人が開いてる場合には判定不可能
>>619
対象のファイルをエクセルファイルとして開かずにVB6のOpen ステートメントの追記モードで開くのがオーソドックスなやり方
他のユーザーエンティティが編集権をロックした状態だとファイルが開けずエラーが発生することを利用する
エラーコードを調べて0より大きい場合はファイルが開かれている、そうでなければファイルが開かれていないと判断する
ただし負荷対策が最適化されていないネットワーク環境でサーバーの応答が遅くなっている場合、数分前に誰かが閉じたファイルを開いていると判定してしまうので要注意
'サンプルコード
Sub Sample()
If IsFileOpened("任意のブックのフルパス") Then
MsgBox "開かれています"
Else
MsgBox "開かれていません"
End If
End Sub
Function IsFileOpened(fliepath as String) As Boolean
On Error Resume Next
Open filepath For Append As #1
Close #1
If Err.Number > 0 Then
IsFileOpened = True
Err.Clear
Else
IsFileOpened = False
End If
End Function
622デフォルトの名無しさん (オッペケ Sr0f-I9Tk)
2019/11/10(日) 03:17:05.03ID:7c8MD0U8r >>621
ブックを開いているときは~$ファイル名の隠しファイルが作られるからそれを見たら
ブックを開いているときは~$ファイル名の隠しファイルが作られるからそれを見たら
623デフォルトの名無しさん (スププ Sdbf-38dS)
2019/11/10(日) 16:07:54.61ID:mlZHtGvXd 行番号が1-9まで1ずつ加算されてる中で3ごとにブロックとして処理の始点を1,4,7行にしたいんだけど行番号から式で求められないかな?
for i=1to9
if i<4 and i>0 then 処理1
elseif i<7 and i>3then 処理2
else 処理3
next i
これを分岐なしでスマートに書きたい
123456789→111444777って変換式が欲しい
for i=1to9
if i<4 and i>0 then 処理1
elseif i<7 and i>3then 処理2
else 処理3
next i
これを分岐なしでスマートに書きたい
123456789→111444777って変換式が欲しい
624デフォルトの名無しさん (ワッチョイ 0f8e-8UzB)
2019/11/10(日) 16:20:12.48ID:ISabdlL+0 >>623
馬鹿は小学生からやり直せ
馬鹿は小学生からやり直せ
625デフォルトの名無しさん (ワッチョイ 5bda-GHlP)
2019/11/10(日) 16:45:02.84ID:3pDgk0W90 1引いて3で割った商を3倍して1を足すとか
626デフォルトの名無しさん (スップ Sdbf-IAD9)
2019/11/10(日) 16:54:56.61ID:CxUi7EKzd VBAの時点でスマートじゃないから
627デフォルトの名無しさん (ワッチョイ 9f2c-E8Ce)
2019/11/10(日) 17:03:38.70ID:ER+z1tbi0 Ruby で、
( 1..9 ).each { |i| p ( ( i - 1 ) / 3 ) * 3 + 1 }
( 1..9 ).each { |i| p ( ( i - 1 ) / 3 ) * 3 + 1 }
628デフォルトの名無しさん (ワッチョイ ef68-DaD1)
2019/11/10(日) 17:13:45.05ID:HO+Z4H690 何でもうすぐ無くなる言語のruby何かで答えるの?アホなの?
629デフォルトの名無しさん (ワッチョイ dbce-DaD1)
2019/11/10(日) 17:46:44.80ID:f9aUABsd0 >>623
変換するだけなら
i - (i - 1) Mod 3
で111444777になる
3つの処理に分けたいなら
Select Case i
Case 1, 2, 3
処理1
Case 4, 5, 6
処理2
Case Else
処理3
End Select
変換するだけなら
i - (i - 1) Mod 3
で111444777になる
3つの処理に分けたいなら
Select Case i
Case 1, 2, 3
処理1
Case 4, 5, 6
処理2
Case Else
処理3
End Select
630デフォルトの名無しさん (ワッチョイ 5bda-AXNO)
2019/11/10(日) 17:48:13.51ID:3pDgk0W90 式を入れてもできそうだな
631デフォルトの名無しさん (アークセー Sx0f-Arvb)
2019/11/10(日) 17:55:48.55ID:CHmVk7q0x >>623
111777999を割り出す変換式を使うのではなく、行番号を3で割った商が1の場合だけ処理を行うようにするのは駄目なの?
例えばこんな感じ
For i = 1 To 9
If i Mod 3 = 1 Then
'処理
End If
Next
111777999を割り出す変換式を使うのではなく、行番号を3で割った商が1の場合だけ処理を行うようにするのは駄目なの?
例えばこんな感じ
For i = 1 To 9
If i Mod 3 = 1 Then
'処理
End If
Next
632デフォルトの名無しさん (アークセー Sx0f-Arvb)
2019/11/10(日) 18:00:46.35ID:CHmVk7q0x >>631
間違えた、3で割った商じゃなくて余りね
間違えた、3で割った商じゃなくて余りね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 【マギレコ】VIPでマギアレコード&マギアエクセドラ【まどドラ】
- 中国人、ガチ超正論。「日本人がアイヌに対してやったことを『問題ない』とするなら、中国が日本人に同じことをしても文句ないだろう?」 [314039747]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 【画像】中国、ガチで未来感ハンパない変態スマホを発明してしまう
- 【高市悲報】ウクライナ、ガチで敗北か?東部の帰属国民投票にかける可能性-ゼレンスキー [888298477]
- 【画像】サーナイト「お、起きないとチューしちゃうぞ…」ボソ
