ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
関連スレ
Excel VBA 質問スレ Part79(ワッチョイあり)
https://mevius.5ch.net/test/read.cgi/tech/1674875532/
Excel VBA 質問スレ Part80(ワッチョイあり)
https://mevius.5ch.net/test/read.cgi/tech/1700826110/
※前スレ
Excel VBA 質問スレ Part79
https://mevius.5ch.net/test/read.cgi/tech/1674874007/
Excel VBA 質問スレ Part80
https://mevius.5ch.net/test/read.cgi/tech/1685489018/
Excel VBA 質問スレ Part81
https://mevius.5ch.net/test/read.cgi/tech/1713416618/
Excel VBA 質問スレ Part82
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2025/01/24(金) 03:31:15.25ID:l239yW+P926デフォルトの名無しさん
2025/06/05(木) 09:07:39.20ID:FSpPjL7A お利口さんに成ろうとしてアタマでっかちに成り過ぎ
大工だっていろんなレベルもあるし色んな層が大工してる
その場しのぎのやっつけ大工も居れば、客の要望を叶えるために青写真から描ける熟練大工もいる
新人大工なら木の特性とか部材同士の相性とかもよく理解しないまま最新部材使って威張ってみたり
ガルバリウムには使ってはいけない釘平気で使って1〜2年後にはその部分からサビを拡げる原因作って顰蹙買うし
それでも世の中は回ってる
改善なんか数年で変化してくものだ、という前提を踏まえてれば、それに見合うコストで運用出来てれば御の字
大工だっていろんなレベルもあるし色んな層が大工してる
その場しのぎのやっつけ大工も居れば、客の要望を叶えるために青写真から描ける熟練大工もいる
新人大工なら木の特性とか部材同士の相性とかもよく理解しないまま最新部材使って威張ってみたり
ガルバリウムには使ってはいけない釘平気で使って1〜2年後にはその部分からサビを拡げる原因作って顰蹙買うし
それでも世の中は回ってる
改善なんか数年で変化してくものだ、という前提を踏まえてれば、それに見合うコストで運用出来てれば御の字
927デフォルトの名無しさん
2025/06/05(木) 10:31:37.20ID:1teg7ITB >>925
コンサルはいわゆるExcelバケツリレーの非効率さを指摘してくるのが常道
VBAで個々人の作業が省力化されてようとフローは変わらないので、実際非合理だから仕方ない
その上で現行業務の調査として関係者全員にヒアリングして介在するワークシートやマクロをつぶさに調査するのにかかる莫大な費用の見積りを提示されると、
もう経営層からはVBA職人なんて非効率な業務を助長するだけの排除すべき敵としか見えなくなるわけよ
コンサルはいわゆるExcelバケツリレーの非効率さを指摘してくるのが常道
VBAで個々人の作業が省力化されてようとフローは変わらないので、実際非合理だから仕方ない
その上で現行業務の調査として関係者全員にヒアリングして介在するワークシートやマクロをつぶさに調査するのにかかる莫大な費用の見積りを提示されると、
もう経営層からはVBA職人なんて非効率な業務を助長するだけの排除すべき敵としか見えなくなるわけよ
928デフォルトの名無しさん
2025/06/05(木) 10:49:41.34ID:1teg7ITB あと、業務を見直してシステム化しようとした際にVBAが悪者になる大きな原因として、
一見簡単な処理に見えて蓋を開けたらたまに複雑怪奇な難攻不落の化け物が出てくる、ってのがある
これ、Excel中心のワークフローをシステム化する際にはよくある話で、スケジュール遅延や予算超過を引き起こすことが多い
そうなるとシステム部門や現場が経営層に頭下げるのは当然として、上場企業だと株主に経営層が謝罪なんてケースもある
ここまでくるともうVBAなんて悪者もいいとこよ
一見簡単な処理に見えて蓋を開けたらたまに複雑怪奇な難攻不落の化け物が出てくる、ってのがある
これ、Excel中心のワークフローをシステム化する際にはよくある話で、スケジュール遅延や予算超過を引き起こすことが多い
そうなるとシステム部門や現場が経営層に頭下げるのは当然として、上場企業だと株主に経営層が謝罪なんてケースもある
ここまでくるともうVBAなんて悪者もいいとこよ
929デフォルトの名無しさん
2025/06/05(木) 10:55:09.32ID:Lp1WVm/I それらは継続してスケールする仕組みを作れていない場合の話じゃないの?
複雑怪奇な難攻不落の化け物って、それスケールできる仕組み作れてなくない?
そもそもの話が噛み合ってないよ
複雑怪奇な難攻不落の化け物って、それスケールできる仕組み作れてなくない?
そもそもの話が噛み合ってないよ
930デフォルトの名無しさん
2025/06/05(木) 11:09:55.37ID:1teg7ITB >>929
隅々まで適切にガバナンスを効かせながら使うならいいんじゃない?
それができるほどの優秀なリーダーがVBAを選ぶかは疑問だけどな
どんな組織でも、人が増えれば馬鹿も増えるし目も行き届かなくなるものだ
隅々まで適切にガバナンスを効かせながら使うならいいんじゃない?
それができるほどの優秀なリーダーがVBAを選ぶかは疑問だけどな
どんな組織でも、人が増えれば馬鹿も増えるし目も行き届かなくなるものだ
931デフォルトの名無しさん
2025/06/05(木) 11:27:50.93ID:Z5osrhWk Excelバケツリレーは業務や人員を追加していく分にはスケールするよ
後から変更するのが困難でありシステム化が前提なら極めて非合理だけ
後から変更するのが困難でありシステム化が前提なら極めて非合理だけ
932デフォルトの名無しさん
2025/06/05(木) 17:48:57.22ID:lb5raFks933デフォルトの名無しさん
2025/06/05(木) 17:54:18.01ID:lb5raFks ローコードツールや多言語の方がいいのはその通りだと思います
VBAはOfficeしか扱えないのだから
VBAはOfficeしか扱えないのだから
934デフォルトの名無しさん
2025/06/05(木) 18:20:52.21ID:uYkJABQ4 > VBAはOfficeしか扱えないのだから
AutoCAD、SOLIDWORKS、・・・
AutoCAD、SOLIDWORKS、・・・
935デフォルトの名無しさん
2025/06/05(木) 18:33:57.70ID:Lp1WVm/I >>933
そうなんだ?知らなかった
そうなんだ?知らなかった
936デフォルトの名無しさん
2025/06/05(木) 20:15:40.58ID:r0Qxvap7 そもそもパッケージやクラウドサービス使えば、中身は全くわからない
手の出しようがない
自前なら何とかなる
そこをどう捉えるかよ
そもそも基幹システムをVBAで作らないし
(小企業は知らんが)
作っても枝葉よ
手の出しようがない
自前なら何とかなる
そこをどう捉えるかよ
そもそも基幹システムをVBAで作らないし
(小企業は知らんが)
作っても枝葉よ
937デフォルトの名無しさん
2025/06/05(木) 20:29:53.99ID:lb5raFks >>936
C、CSVで吐き出せればなんとか(震え声)
TYPEを全く使ってこなかったのです。
しかし、この度同じモジュールで多数のstring型の変数を宣言する必要があります。
TYPEデビューしようと思うのですがどうでしょうか?
C、CSVで吐き出せればなんとか(震え声)
TYPEを全く使ってこなかったのです。
しかし、この度同じモジュールで多数のstring型の変数を宣言する必要があります。
TYPEデビューしようと思うのですがどうでしょうか?
938デフォルトの名無しさん
2025/06/05(木) 23:29:45.76ID:fxlZJI+h ここで聞かなきゃいけないような馬鹿はやめとけ
939デフォルトの名無しさん
2025/06/05(木) 23:53:54.23ID:r0Qxvap7940デフォルトの名無しさん
2025/06/05(木) 23:57:55.29ID:0HOZWCXV941デフォルトの名無しさん
2025/06/06(金) 01:00:59.18ID:gfk/0ela >>940
CRLFはCRが来る時点でLFが行末じゃなくなるって話
CRLFはCRが来る時点でLFが行末じゃなくなるって話
942デフォルトの名無しさん
2025/06/06(金) 08:39:00.12ID:cx/TERMm Enterキーの矢印ってLF-CRだよね
↓
←
CR-LFならこういう向きじゃないとおかしい
←
↓
↓
←
CR-LFならこういう向きじゃないとおかしい
←
↓
943デフォルトの名無しさん
2025/06/06(金) 09:32:23.47ID:rGtsPzUl VBAでクラスモジュールを使っていろいろやるのもなしとは言わないけれど、それなら正直JavaとかPythonとかの普通の言語を勉強した方が良いような気もするかな。クラスモジュールって、よくある普通の言語とはちょっと違ったVBA固有の仕様に過ぎないし。
944デフォルトの名無しさん
2025/06/06(金) 09:44:39.10ID:4a1tHPn5 >>943
JavaScript様のプロトタイプに喧嘩売る気か
JavaScript様のプロトタイプに喧嘩売る気か
945デフォルトの名無しさん
2025/06/06(金) 10:07:22.76ID:NfW6LToZ クラスモジュールはVBA固有というかCOMの仕様
COMの絡まない処理で無理に使う必要は全く無いし、COMを理解してないと不可解な仕様が多い
COMの絡まない処理で無理に使う必要は全く無いし、COMを理解してないと不可解な仕様が多い
946デフォルトの名無しさん
2025/06/06(金) 10:45:07.80ID:c6RrnkVo 他言語でクラス使ってたらクラスモジュール作りたくなる病
947デフォルトの名無しさん
2025/06/06(金) 11:16:07.96ID:FmZludjM COMってどう勉強するんだろ
漠として簡潔な説明がなかなかなく
IUnknownやらなんやら、
漠として簡潔な説明がなかなかなく
IUnknownやらなんやら、
948デフォルトの名無しさん
2025/06/06(金) 11:35:48.78ID:3VaYoART InsideCOMを辛抱強く読むのが唯一の道
それ以上の資料もかみくだいた解説書もない
それ以上の資料もかみくだいた解説書もない
949デフォルトの名無しさん
2025/06/06(金) 18:33:04.93ID:lAxJJHmL950デフォルトの名無しさん
2025/06/06(金) 18:52:09.71ID:4a1tHPn5951デフォルトの名無しさん
2025/06/06(金) 19:13:06.68ID:fJneNGsq952デフォルトの名無しさん
2025/06/06(金) 20:17:15.03ID:tc8PGxli >>951
ディクショナリだとインテリ使えんけど、まあそれでいいなら
ディクショナリだとインテリ使えんけど、まあそれでいいなら
953デフォルトの名無しさん
2025/06/06(金) 20:34:48.52ID:2QLQ97JJ たまにいる勘違い人間 「自分、CやJavaできるから低レベルのVBA(笑)なんてすぐマスターできるし」とか豪語するヤツ
954デフォルトの名無しさん
2025/06/06(金) 21:03:29.16ID:fJneNGsq 私はファイルパスやフォルダパスの取得や設定、ファイル名やフォルダ名の作成に冗長なコードを書いている気がしてならないのですが、何かいいコードはないでしょうか?
955897
2025/06/06(金) 21:52:26.62ID:CfJ/EVmD Typeの代わりにRecordSet使ったりする Field設定いちいちするの面倒だけど
Filterとか使えるしCopyFromRecorSetとかできるし
Filterとか使えるしCopyFromRecorSetとかできるし
956デフォルトの名無しさん
2025/06/07(土) 01:20:40.40ID:hTJ86lb5 >>954
昔はdirやnameだったけど、今はfso使ってればいいんじゃね
昔はdirやnameだったけど、今はfso使ってればいいんじゃね
957デフォルトの名無しさん
2025/06/07(土) 04:19:49.26ID:GCIZhVy1 >>954
その程度の処理なら、冗長で困ることなんかほとんどないよ
自分に理解できる形で書くのが、長い目で見れば一番保守性が高いんだから
ちゃんと動いてる物を直そうとして壊すことも多いから、そっとしとけ
その程度の処理なら、冗長で困ることなんかほとんどないよ
自分に理解できる形で書くのが、長い目で見れば一番保守性が高いんだから
ちゃんと動いてる物を直そうとして壊すことも多いから、そっとしとけ
958デフォルトの名無しさん
2025/06/07(土) 07:03:08.54ID:QQtzQfGp >>954
末尾の円マーク有無で毎回処理を分岐させてるのならBuildPathを使え
末尾の円マーク有無で毎回処理を分岐させてるのならBuildPathを使え
959デフォルトの名無しさん
2025/06/07(土) 09:36:28.54ID:zGsllLLl >>954
その冗長なコードとやらを貼ってみれば何が悪いか指摘してもらえると思うぞ
その冗長なコードとやらを貼ってみれば何が悪いか指摘してもらえると思うぞ
960デフォルトの名無しさん
2025/06/07(土) 10:26:27.74ID:pGBLBsE0 .netの文字列操作ライブラリとか見たらいたせりつくせりで贅沢過ぎるわ!って怒り出しそう
961デフォルトの名無しさん
2025/06/07(土) 12:33:58.98ID:NHsDgqoS タスクバーのアイコンを取得したくて、下記のサイトのC#をVBAに移植しても、Excelがハングアップする
C#ではちゃんと動く
なぜ?
Dim pUIAutomation As New CUIAutomation
Dim windowElementTray As IUIAutomationElement
Set windowElementTray = pUIAutomation.ElementFromHandle(ByVal hTaskBar)
↓
https://learn.microsoft.com/en-us/answers/questions/115440/how-to-find-taskbar-button-screen-rect-of-a-window
C#ではちゃんと動く
なぜ?
Dim pUIAutomation As New CUIAutomation
Dim windowElementTray As IUIAutomationElement
Set windowElementTray = pUIAutomation.ElementFromHandle(ByVal hTaskBar)
↓
https://learn.microsoft.com/en-us/answers/questions/115440/how-to-find-taskbar-button-screen-rect-of-a-window
962デフォルトの名無しさん
2025/06/07(土) 13:25:32.25ID:QQtzQfGp https://qiita.com/Mrs_P/items/5c8070fd880b9deb284a
↑ここの人がVBAで似たようなことやってますね
GetReferenceElementという関数の中に >>961 と同等のコードが書かれているから
hTaskBarの値がおかしいんじゃないの?
これでブラウザの自動操縦できるのかぁ 便利そうだな
↑ここの人がVBAで似たようなことやってますね
GetReferenceElementという関数の中に >>961 と同等のコードが書かれているから
hTaskBarの値がおかしいんじゃないの?
これでブラウザの自動操縦できるのかぁ 便利そうだな
963デフォルトの名無しさん
2025/06/07(土) 13:32:49.76ID:NHsDgqoS964デフォルトの名無しさん
2025/06/07(土) 13:58:10.47ID:QQtzQfGp これで最後の行まで動いたよ
Dim hWndTray As LongPtr: hWndTray = FindWindow("Shell_TrayWnd", vbNullString)
Dim hWndRebar As LongPtr: hWndRebar = FindWindowEx(hWndTray, 0, "ReBarWindow32", vbNullString)
Dim hWndMSTaskSwWClass As LongPtr: hWndMSTaskSwWClass = FindWindowEx(hWndRebar, 0, "MSTaskSwWClass", vbNullString)
Dim hWndMSTaskListWClass As LongPtr: hWndMSTaskListWClass = FindWindowEx(hWndMSTaskSwWClass, 0, "MSTaskListWClass", vbNullString)
Dim pUIAutomation As New CUIAutomation
Dim windowElementTray As IUIAutomationElement
Set windowElementTray = pUIAutomation.ElementFromHandle(ByVal hWndMSTaskListWClass)
MsgBox "終わり"
Dim hWndTray As LongPtr: hWndTray = FindWindow("Shell_TrayWnd", vbNullString)
Dim hWndRebar As LongPtr: hWndRebar = FindWindowEx(hWndTray, 0, "ReBarWindow32", vbNullString)
Dim hWndMSTaskSwWClass As LongPtr: hWndMSTaskSwWClass = FindWindowEx(hWndRebar, 0, "MSTaskSwWClass", vbNullString)
Dim hWndMSTaskListWClass As LongPtr: hWndMSTaskListWClass = FindWindowEx(hWndMSTaskSwWClass, 0, "MSTaskListWClass", vbNullString)
Dim pUIAutomation As New CUIAutomation
Dim windowElementTray As IUIAutomationElement
Set windowElementTray = pUIAutomation.ElementFromHandle(ByVal hWndMSTaskListWClass)
MsgBox "終わり"
965デフォルトの名無しさん
2025/06/07(土) 14:07:56.34ID:QQtzQfGp もうひとつの方もこれで動いた
Dim hWndTray As LongPtr: hWndTray = FindWindow("Shell_TrayWnd", vbNullString0)
Dim hWndTrayNotify As LongPtr: hWndTrayNotify = FindWindowEx(hWndTray, 0, "TrayNotifyWnd", vbNullString)
Dim hWndSysPager As LongPtr: hWndSysPager = FindWindowEx(hWndTrayNotify, 0, "SysPager", vbNullString)
Dim hWndToolbar As LongPtr: hWndToolbar = FindWindowEx(hWndSysPager, 0, "ToolbarWindow32", vbNullString)
Dim pUIAutomation As New CUIAutomation
Dim windowElementTray As IUIAutomationElement
Set windowElementTray = pUIAutomation.ElementFromHandle(ByVal hWndToolbar)
MsgBox "終わり"
Dim hWndTray As LongPtr: hWndTray = FindWindow("Shell_TrayWnd", vbNullString0)
Dim hWndTrayNotify As LongPtr: hWndTrayNotify = FindWindowEx(hWndTray, 0, "TrayNotifyWnd", vbNullString)
Dim hWndSysPager As LongPtr: hWndSysPager = FindWindowEx(hWndTrayNotify, 0, "SysPager", vbNullString)
Dim hWndToolbar As LongPtr: hWndToolbar = FindWindowEx(hWndSysPager, 0, "ToolbarWindow32", vbNullString)
Dim pUIAutomation As New CUIAutomation
Dim windowElementTray As IUIAutomationElement
Set windowElementTray = pUIAutomation.ElementFromHandle(ByVal hWndToolbar)
MsgBox "終わり"
966デフォルトの名無しさん
2025/06/07(土) 15:15:58.64ID:NHsDgqoS967デフォルトの名無しさん
2025/06/07(土) 16:04:31.64ID:I++ihMYF >>959
例えばファイルシステムで
フォルダ1の中から指定の文字列を含むフォルダを探して
見つかったフォルダのパスを取得して
さらにそのフォルダの中から指定の文字列を含むフォルダを探して
見つかったフォルダのパスを取得して
そのフォルダの中に指定のフォルダがあるか確認してなかった場合はフォルダを作成するコードです
2〜3回同じ様な事を繰り返しているので冗長な気がしてなりません
例えばファイルシステムで
フォルダ1の中から指定の文字列を含むフォルダを探して
見つかったフォルダのパスを取得して
さらにそのフォルダの中から指定の文字列を含むフォルダを探して
見つかったフォルダのパスを取得して
そのフォルダの中に指定のフォルダがあるか確認してなかった場合はフォルダを作成するコードです
2〜3回同じ様な事を繰り返しているので冗長な気がしてなりません
968デフォルトの名無しさん
2025/06/07(土) 16:09:10.87ID:WTKqP7i+ >>967
それそのままAIに投げたら一瞬で書いてくれるよ
それそのままAIに投げたら一瞬で書いてくれるよ
969947
2025/06/07(土) 16:28:51.74ID:ADmBeqPj970デフォルトの名無しさん
2025/06/07(土) 17:36:52.86ID:hTJ86lb5 >>967
それを平で書いてるなら冗長
再帰処理でやるのがあるべき姿
まずは指定フォルダ下の全フォルダを出力する再帰処理書いてみ
(全てが再帰処理ではない。呼び出し元処理と再帰処理の2つ書くことになる。念の為)
それを平で書いてるなら冗長
再帰処理でやるのがあるべき姿
まずは指定フォルダ下の全フォルダを出力する再帰処理書いてみ
(全てが再帰処理ではない。呼び出し元処理と再帰処理の2つ書くことになる。念の為)
971デフォルトの名無しさん
2025/06/07(土) 17:47:31.26ID:QQtzQfGp >>966
Windows11はタスクバーに使われてるクラスが変わってるらしいから関係あるかもよ
https://www.autohotkey.com/boards/viewtopic.php?style=19&t=108539
AHKにクラス名を調べるツールがついてたような
Windows11はタスクバーに使われてるクラスが変わってるらしいから関係あるかもよ
https://www.autohotkey.com/boards/viewtopic.php?style=19&t=108539
AHKにクラス名を調べるツールがついてたような
972デフォルトの名無しさん
2025/06/07(土) 17:55:49.45ID:nK7i38Q0 >>967
こんなのかな
>フォルダ1(Path1)の中から指定の文字列を含むフォルダ(Pattern1)を探して見つかったフォルダのパス(Path2)を取得する
Path2 = GetPatternPath(Path1, Pattern1) As String
>さらにそのフォルダ(Path2)の中から指定の文字列(Pattern2)を含むフォルダを探して
>見つかったフォルダのパス(Path3)を取得する
Path3 = FindPatternPath(Path2, Pattern2) As String
>そのフォルダ(Path3)の中に指定のフォルダ(Pattern3)があるか確認してなかった場合はフォルダを作成するコードです
result = CheckPatternPath(Path3, Pattern3) As Boolean
If result Then
Call MakePatternPath(Path3, Pattern3)
End If
あとは関数の中身を書くだけ
こんなのかな
>フォルダ1(Path1)の中から指定の文字列を含むフォルダ(Pattern1)を探して見つかったフォルダのパス(Path2)を取得する
Path2 = GetPatternPath(Path1, Pattern1) As String
>さらにそのフォルダ(Path2)の中から指定の文字列(Pattern2)を含むフォルダを探して
>見つかったフォルダのパス(Path3)を取得する
Path3 = FindPatternPath(Path2, Pattern2) As String
>そのフォルダ(Path3)の中に指定のフォルダ(Pattern3)があるか確認してなかった場合はフォルダを作成するコードです
result = CheckPatternPath(Path3, Pattern3) As Boolean
If result Then
Call MakePatternPath(Path3, Pattern3)
End If
あとは関数の中身を書くだけ
973デフォルトの名無しさん
2025/06/07(土) 18:21:21.32ID:QQtzQfGp >>967
ShiteiNoMojiretsu = "指定の文字列"
Shitei = "指定"
Path = "C:\フォルダ1"
Path = Path & "\" & Dir(Path & "\*" & ShiteiNoMojiretsu & "*", vbDirectory)
Path = Path & "\" & Dir(Path & "\*" & ShiteiNoMojiretsu & "*", vbDirectory)
If Dir(Path & "\" & Shitei, vbDirectory) = "" Then
MkDir Path & "\" & Shitei
End If
ShiteiNoMojiretsu = "指定の文字列"
Shitei = "指定"
Path = "C:\フォルダ1"
Path = Path & "\" & Dir(Path & "\*" & ShiteiNoMojiretsu & "*", vbDirectory)
Path = Path & "\" & Dir(Path & "\*" & ShiteiNoMojiretsu & "*", vbDirectory)
If Dir(Path & "\" & Shitei, vbDirectory) = "" Then
MkDir Path & "\" & Shitei
End If
974デフォルトの名無しさん
2025/06/07(土) 18:49:45.58ID:NHsDgqoS975デフォルトの名無しさん
2025/06/07(土) 22:19:45.07ID:I++ihMYF976デフォルトの名無しさん
2025/06/08(日) 02:30:07.18ID:bVJzS0fI977デフォルトの名無しさん
2025/06/08(日) 03:49:16.50ID:kACuu3za こんなので偉そうにする馬鹿
978デフォルトの名無しさん
2025/06/08(日) 10:13:48.24ID:szoadHGe >>977
わざわざ「私バカです」って手を挙げて出てきてどうした
わざわざ「私バカです」って手を挙げて出てきてどうした
979897
2025/06/08(日) 10:59:09.81ID:BE7fUg1L >>976
昔だったら stack overflowとか心配してたけど今はあまり気にしなくて良さそうだね
昔だったら stack overflowとか心配してたけど今はあまり気にしなくて良さそうだね
980デフォルトの名無しさん
2025/06/08(日) 11:01:04.08ID:j4jIPbHU .netのAPIラッパー関数もソース見ると大抵泥臭い事やってんのよね
981デフォルトの名無しさん
2025/06/08(日) 11:03:50.75ID:4qkaLQIW スタック領域は昔からほとんど変わってないから気にする必要はある
982デフォルトの名無しさん
2025/06/08(日) 11:07:37.10ID:j4jIPbHU Excel VBA 質問スレ Part83
https://mevius.5ch.net/test/read.cgi/tech/1749348402/
https://mevius.5ch.net/test/read.cgi/tech/1749348402/
983897
2025/06/08(日) 11:11:01.02ID:BE7fUg1L984デフォルトの名無しさん
2025/06/08(日) 12:43:48.49ID:gXHyLlYW >>976
再帰処理のコード自体はわかるのですが、If文で再帰処理をする、しないまでは考えてなかったです
再帰処理のコード自体はわかるのですが、If文で再帰処理をする、しないまでは考えてなかったです
985デフォルトの名無しさん
2025/06/08(日) 14:43:09.01ID:bVJzS0fI986デフォルトの名無しさん
2025/06/08(日) 16:28:21.07ID:46RFXcFD 2階層しか掘らないのにわざわざ再帰処理にするかなぁ
987デフォルトの名無しさん
2025/06/08(日) 16:56:20.91ID:DI4VVn6/988デフォルトの名無しさん
2025/06/08(日) 17:17:56.33ID:8915HtnW989デフォルトの名無しさん
2025/06/08(日) 19:19:30.01ID:4BwIalv3 ソース的に簡単にするなら全ファイルのフルパス取って正規表現だな
990デフォルトの名無しさん
2025/06/09(月) 07:30:24.52ID:UIpY0QNU フォルダのショートカットファイルがある場合の動作確認はした方がいいぞ
991デフォルトの名無しさん
2025/06/09(月) 08:19:56.01ID:EHQrQQev シンボリックリンクとジャンクションとハードリンクも動作確認した方がいいぞ
パスが255文字超えた場合も動作確認した方がいいぞ
パスが255文字超えた場合も動作確認した方がいいぞ
992デフォルトの名無しさん
2025/06/10(火) 20:52:05.68ID:RKOrDLCJ VBAのfor eachやfor nextでif文を使用して条件に合わなかった時にnext するにはどうしたらいいでしょうか?
993デフォルトの名無しさん
2025/06/10(火) 21:05:38.20ID:94f6xD2K forの中をDo-Loopで囲んで脱出したい時はExit Doする
994デフォルトの名無しさん
2025/06/10(火) 21:05:45.22ID:zK5HBYNC >>992
VBAでFor EachやFor Nextループ中に条件に合わない場合に次のループに進むには、If文を使い、条件が合致した場合のみ処理を記述します。
' For Each の例
For Each item In collection
If 条件 Then
' 条件に合った場合の処理をここに書く
End If
Next item
' For Next の例
For i = 1 To 10
If 条件 Then
' 条件に合った場合の処理をここに書く
End If
Next i
Elseブロックを記述しないことで、条件が合わない場合は自動的に次のループへ進みます。
VBAでFor EachやFor Nextループ中に条件に合わない場合に次のループに進むには、If文を使い、条件が合致した場合のみ処理を記述します。
' For Each の例
For Each item In collection
If 条件 Then
' 条件に合った場合の処理をここに書く
End If
Next item
' For Next の例
For i = 1 To 10
If 条件 Then
' 条件に合った場合の処理をここに書く
End If
Next i
Elseブロックを記述しないことで、条件が合わない場合は自動的に次のループへ進みます。
995デフォルトの名無しさん
2025/06/10(火) 21:17:29.25ID:KLsW+s5l next の手前にgoto
996デフォルトの名無しさん
2025/06/10(火) 21:35:49.89ID:chtn5cci gotoでnext前のラベルに飛ぶ。ラベルは
CONTINUE_1:
など
CONTINUE_1:
など
997897
2025/06/10(火) 21:41:20.79ID:4RtejL7X C言語の呪いから解けずにGoTo使いにくい俺
998デフォルトの名無しさん
2025/06/10(火) 21:55:14.34ID:qJv58WHL 無理して使うもんじゃない
そもそもifで処理せずにnextさせたいなら、
逆にifで処理させれば条件に当てはまらなければnextになるんだし
そもそもifで処理せずにnextさせたいなら、
逆にifで処理させれば条件に当てはまらなければnextになるんだし
999デフォルトの名無しさん
2025/06/10(火) 21:57:34.45ID:YNq6kTxr 馬鹿ばっかで呆れるスレ
1000デフォルトの名無しさん
2025/06/10(火) 21:58:07.04ID:YNq6kTxr 馬鹿ばっか
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 137日 18時間 26分 52秒
新しいスレッドを立ててください。
life time: 137日 18時間 26分 52秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【芸能】『バンダイナムコフェス』上海公演 日本人歌手・大槻マキが歌唱中に強制退場… 急に音を止められスタッフらしき人達に [冬月記者★]
- 「怒りに震えて涙が出た」 同性婚認めず「合憲」判断に原告が反発 「差別的な判決だ」 [ぐれ★]
- 橋下徹氏 高市首相“台湾有事”発言に「政治家の失言で一部の人でも仕事がキャンセルに…我々は認めていいのかな」疑問呈す [muffin★]
- 「インバウンド政策上、中国は重要」、訪日自粛で金子国交相「早く通常の状況に戻っていただきたい」★2 [ぐれ★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★5 [ぐれ★]
- Amazonブラックフライデー 活況の裏に過酷労働 事故やケガを「自己責任にしないで」配達員ら4年連続抗議 [蚤の市★]
- (*´ω`*)おはようドリーム
- 【動画】上海バンダイナムコフェス、ワンピース歌ってる途中に中国政府「日本人の公演全面禁止」発令された瞬間強制終了 怖すぎ★4 [579392623]
- 弱者男性なやつwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- 佳子様に似てる
- プロレスラーってロープに振ると走って戻ってくるけど
- 「20代の趣味」、30年間でめちゃくちゃ変わっていた [452056903]
