[過去ログ] Excel VBA 質問スレ Part82 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(1): 01/24(金)03:31 ID:l239yW+P(1)調 AAS
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
関連スレ
Excel VBA 質問スレ Part79(ワッチョイあり)
2chスレ:tech
Excel VBA 質問スレ Part80(ワッチョイあり)
2chスレ:tech
※前スレ
Excel VBA 質問スレ Part79
2chスレ:tech
Excel VBA 質問スレ Part80
2chスレ:tech
Excel VBA 質問スレ Part81
2chスレ:tech
903(1): 06/04(水)05:30 ID:3c6clsCg(1/3)調 AAS
独学って、大半の人は言語に固有の文法と、開発環境に依存する実行方法を覚えただけでしょ
だからデータ型の違いとか文字コードとかアルゴリズムとかファイルシステムとか、基本がわかってないから別の言語に手を出せない
904: 06/04(水)06:02 ID:/hC9EQXc(1)調 AAS
ここ見てりゃわかるけど、コピペで動いて偉くなったつもりの馬鹿ばっかだから
905: 06/04(水)07:11 ID:jKpT1SFo(1)調 AAS
>>903
そうね
それはその通りだと思うわ
だから>>894の言ってる教えている人が
そもそものVBAの基本的な型やら
分岐や演算とかよく使うObjectの扱いとかを
最初に教えていることを切に願うわ
906: 06/04(水)07:34 ID:BFbm2+Cn(1)調 AAS
>>900
覚えるのは自分、教わったのに覚えてないようでは学べてない
あと文法は覚えてもアルゴリズムは考えるもの
教わってないからできないって言ってるのは初心者以下な
907(2): 06/04(水)07:44 ID:f2CAL3f8(1/3)調 AAS
やる必要性がないからやらないけど、Pythonが簡単というならPythonだってわかる気がするし、C言語がFor eachもない様な単純な言語だというならそれはそれでできそうな気もする(Copilotがあるから尚更)。
ローコードにしろスクラッチにしろそれは同じ。
既製品のソフトウェアを導入するか、VBAで作成するかならどちらが安いと思いますか?
もしVBAの方が安いなら世の中マクロだらけだと思うのです。
908: 06/04(水)08:21 ID:B6zQeN2g(1)調 AAS
誰も責任を負いたくない、率先して矢面に立ちたくない方々だらけだから
909(1): 06/04(水)08:50 ID:yTwvetl9(1/2)調 AAS
>>907
マクロだらけだよ
それらを管理する人(作成者)が抜けていくから管理不能になる
そういった事象を解決する銀の弾丸としてRPAやノーコードツールが喧伝されたけど、
管理する人がいないって意味では同じなので同じことが繰り返されてる
910: 06/04(水)10:16 ID:pOYKhOcI(1/2)調 AAS
>改行コードが CRLF と LF が混じったお行儀のよろしくないファイル
CSVなら普通にあるな
行儀の問題じゃない
911: 06/04(水)10:36 ID:yTwvetl9(2/2)調 AAS
行儀だよ
少なくともRFC上においては行末がCRLFであると規定されてる
ファイルの最後のみがどうでもよい
912: 06/04(水)11:22 ID:ZuFYF6Nx(1)調 AAS
>>907
どっちが安いって、保守コストまで考えて言ってる?
そりゃ作りっぱなしならVBAのが安上がりだけど、それじゃ後で困るって話をしてるんでしょ
913(1): 06/04(水)12:21 ID:pOYKhOcI(2/2)調 AAS
LFは行末じゃないよ
914(1): 06/04(水)14:36 ID:p0LJP29f(1/2)調 AAS
CSVの行改行と項目内改行が使い分けられてないわけが無い
使い分けられてなければ復元不可能になる
915(1): 06/04(水)14:39 ID:p0LJP29f(2/2)調 AAS
>>914
"あれば可能だが無いの見たことあるのよね…
916(1): 06/04(水)16:28 ID:3c6clsCg(2/3)調 AAS
標準の改行コードはOSによって違う
CR、LF、CR+LF、LF+CR、すべてのパターンが実在する
フィールドに改行やコンマを含めたい場合、レコードの区切りと違うコードを割り当てる場合もあれば、クォートなどの記号でフィールドの範囲を明示する場合もある
Windows版Excelはダブルクォートでフィールドの範囲を指定するのが基本
917: 06/04(水)16:30 ID:3c6clsCg(3/3)調 AAS
>>915
それは固定長かセパレータ(コンマ)の数をカウントしてるかどっちかかな
918: 06/04(水)18:23 ID:RQn0r/Lq(1)調 AAS
>>916
CR MacOS(UNIX化前)
LF UNIX、MacOS(UNIX化後)
CR+LF Windows、DOS
LF+CR ← なんてOS?
919: 06/04(水)18:39 ID:f2CAL3f8(2/3)調 AAS
>>909
RPAにしろ、ノーコードにしろ、なんにしろ、そうなりますよね。
結局社内でどれだけ学習意欲のある人を揃えるかによりそう。
920(1): 06/04(水)19:22 ID:7S8kDVf/(1)調 AAS
>>913
由来のタイプライターを鑑みたらLFは本来行頭に来るべきものだけど、
現実的には行末
921(3): 06/04(水)19:55 ID:frrYvMiA(1)調 AAS
頑張ってVBA勉強したところでプログラミングスキルとしては流石に時代遅れ&最底辺だし、
事務員としてスキルアップしたいならツールに入れ込むより業務知識を強化した方がいいし、
組織の中で出世したいなら自分でVBA書くより他人に書かせて継続的にスケールする仕組みを作るべき
そして、めでたく業務効率化できたとして、いず」行き着く先は「脱Excelで属人化解消&業務効率化」でVBA職人は悪者扱いだ
本当にVBAを広めたいのなら、個人の意欲に頼るのではなく、組織として適切なインセンティブを設けることだな
922: 06/04(水)20:02 ID:f2CAL3f8(3/3)調 AAS
>>921
結局、経営者次第だよね
まるでITや業務効率化に興味がないなら何もできない
社員の進言に耳を傾けないなら騙されもするし、せっかく導入したツールは社員にとって非常に使いづらい
923: 06/05(木)00:29 ID:Nu77Yg2O(1)調 AAS
>>921
そっか
あなたはこのスレ卒業だね
924: 06/05(木)08:17 ID:FSpPjL7A(1/2)調 AAS
四行目までは自虐だろ? 言いたいのは五行目だけって意味と捉えたが、どうなんだ
まあ、ちょっと過剰に反応し過ぎなきらいは否めないが
925(1): 06/05(木)08:45 ID:Lp1WVm/I(1/3)調 AAS
>>921
組織の中で継続してスケールする仕組み作ったなら属人化してないんだから悪者になる理由なくない?
926: 06/05(木)09:07 ID:FSpPjL7A(2/2)調 AAS
お利口さんに成ろうとしてアタマでっかちに成り過ぎ
大工だっていろんなレベルもあるし色んな層が大工してる
その場しのぎのやっつけ大工も居れば、客の要望を叶えるために青写真から描ける熟練大工もいる
新人大工なら木の特性とか部材同士の相性とかもよく理解しないまま最新部材使って威張ってみたり
ガルバリウムには使ってはいけない釘平気で使って1〜2年後にはその部分からサビを拡げる原因作って顰蹙買うし
それでも世の中は回ってる
改善なんか数年で変化してくものだ、という前提を踏まえてれば、それに見合うコストで運用出来てれば御の字
927: 06/05(木)10:31 ID:1teg7ITB(1/3)調 AAS
>>925
コンサルはいわゆるExcelバケツリレーの非効率さを指摘してくるのが常道
VBAで個々人の作業が省力化されてようとフローは変わらないので、実際非合理だから仕方ない
その上で現行業務の調査として関係者全員にヒアリングして介在するワークシートやマクロをつぶさに調査するのにかかる莫大な費用の見積りを提示されると、
もう経営層からはVBA職人なんて非効率な業務を助長するだけの排除すべき敵としか見えなくなるわけよ
928(1): 06/05(木)10:49 ID:1teg7ITB(2/3)調 AAS
あと、業務を見直してシステム化しようとした際にVBAが悪者になる大きな原因として、
一見簡単な処理に見えて蓋を開けたらたまに複雑怪奇な難攻不落の化け物が出てくる、ってのがある
これ、Excel中心のワークフローをシステム化する際にはよくある話で、スケジュール遅延や予算超過を引き起こすことが多い
そうなるとシステム部門や現場が経営層に頭下げるのは当然として、上場企業だと株主に経営層が謝罪なんてケースもある
ここまでくるともうVBAなんて悪者もいいとこよ
929(1): 06/05(木)10:55 ID:Lp1WVm/I(2/3)調 AAS
それらは継続してスケールする仕組みを作れていない場合の話じゃないの?
複雑怪奇な難攻不落の化け物って、それスケールできる仕組み作れてなくない?
そもそもの話が噛み合ってないよ
930: 06/05(木)11:09 ID:1teg7ITB(3/3)調 AAS
>>929
隅々まで適切にガバナンスを効かせながら使うならいいんじゃない?
それができるほどの優秀なリーダーがVBAを選ぶかは疑問だけどな
どんな組織でも、人が増えれば馬鹿も増えるし目も行き届かなくなるものだ
931: 06/05(木)11:27 ID:Z5osrhWk(1)調 AAS
Excelバケツリレーは業務や人員を追加していく分にはスケールするよ
後から変更するのが困難でありシステム化が前提なら極めて非合理だけ
932: 06/05(木)17:48 ID:lb5raFks(1/3)調 AAS
>>928
IR出すレベルのVBAは確実に一見簡単そうな処理では無いと思います。
そこまでの規模のシステムなら、それこそ何かしらの製品やサービスを導入してください。
933(1): 06/05(木)17:54 ID:lb5raFks(2/3)調 AAS
ローコードツールや多言語の方がいいのはその通りだと思います
VBAはOfficeしか扱えないのだから
934: 06/05(木)18:20 ID:uYkJABQ4(1)調 AAS
> VBAはOfficeしか扱えないのだから
AutoCAD、SOLIDWORKS、・・・
935: 06/05(木)18:33 ID:Lp1WVm/I(3/3)調 AAS
>>933
そうなんだ?知らなかった
936(1): 06/05(木)20:15 ID:r0Qxvap7(1/2)調 AAS
そもそもパッケージやクラウドサービス使えば、中身は全くわからない
手の出しようがない
自前なら何とかなる
そこをどう捉えるかよ
そもそも基幹システムをVBAで作らないし
(小企業は知らんが)
作っても枝葉よ
937(1): 06/05(木)20:29 ID:lb5raFks(3/3)調 AAS
>>936
C、CSVで吐き出せればなんとか(震え声)
TYPEを全く使ってこなかったのです。
しかし、この度同じモジュールで多数のstring型の変数を宣言する必要があります。
TYPEデビューしようと思うのですがどうでしょうか?
938: 06/05(木)23:29 ID:fxlZJI+h(1)調 AAS
ここで聞かなきゃいけないような馬鹿はやめとけ
939(1): 06/05(木)23:53 ID:r0Qxvap7(2/2)調 AAS
>>937
type稀にしか使わないので調べたら
CollectionやDictionaryに格納できないと
マジか、知らなかったわ
これに使うならクラスにしたらいいかもね
940(1): 06/05(木)23:57 ID:0HOZWCXV(1)調 AAS
>>920
リアルタイプライターではLFの位置は任意だよ
行頭とか行末とか関係なく、行の途中でも好きな所でline feedは可能
941: 06/06(金)01:00 ID:gfk/0ela(1)調 AAS
>>940
CRLFはCRが来る時点でLFが行末じゃなくなるって話
942: 06/06(金)08:39 ID:cx/TERMm(1)調 AAS
Enterキーの矢印ってLF-CRだよね
↓
←
CR-LFならこういう向きじゃないとおかしい
←
↓
943(1): 06/06(金)09:32 ID:rGtsPzUl(1)調 AAS
VBAでクラスモジュールを使っていろいろやるのもなしとは言わないけれど、それなら正直JavaとかPythonとかの普通の言語を勉強した方が良いような気もするかな。クラスモジュールって、よくある普通の言語とはちょっと違ったVBA固有の仕様に過ぎないし。
944: 06/06(金)09:44 ID:4a1tHPn5(1/2)調 AAS
>>943
JavaScript様のプロトタイプに喧嘩売る気か
945: 06/06(金)10:07 ID:NfW6LToZ(1)調 AAS
クラスモジュールはVBA固有というかCOMの仕様
COMの絡まない処理で無理に使う必要は全く無いし、COMを理解してないと不可解な仕様が多い
946: 06/06(金)10:45 ID:c6RrnkVo(1)調 AAS
他言語でクラス使ってたらクラスモジュール作りたくなる病
947(1): 06/06(金)11:16 ID:FmZludjM(1)調 AAS
COMってどう勉強するんだろ
漠として簡潔な説明がなかなかなく
IUnknownやらなんやら、
948(1): 06/06(金)11:35 ID:3VaYoART(1)調 AAS
InsideCOMを辛抱強く読むのが唯一の道
それ以上の資料もかみくだいた解説書もない
949: 06/06(金)18:33 ID:lAxJJHmL(1)調 AAS
っ https://learn.microsoft.com/ja-jp/cpp/mfc/ole-in-mfc?view=msvc-170
https://learn.microsoft.com/ja-jp/windows/win32/learnwin32/module-2--using-com-in-your-windows-program
950: 06/06(金)18:52 ID:4a1tHPn5(2/2)調 AAS
COMの解説
https://learn.microsoft.com/ja-jp/windows/win32/com/component-object-model--com--portal
951(1): 06/06(金)19:13 ID:fJneNGsq(1/2)調 AAS
>>939
TYPEは他のオブジェクトに引き渡せないとは聞いていました
結局ディクショナリーで登録しました
952: 06/06(金)20:17 ID:tc8PGxli(1)調 AAS
>>951
ディクショナリだとインテリ使えんけど、まあそれでいいなら
953: 06/06(金)20:34 ID:2QLQ97JJ(1)調 AAS
たまにいる勘違い人間 「自分、CやJavaできるから低レベルのVBA(笑)なんてすぐマスターできるし」とか豪語するヤツ
954(4): 06/06(金)21:03 ID:fJneNGsq(2/2)調 AAS
私はファイルパスやフォルダパスの取得や設定、ファイル名やフォルダ名の作成に冗長なコードを書いている気がしてならないのですが、何かいいコードはないでしょうか?
955: 897 06/06(金)21:52 ID:CfJ/EVmD(1)調 AAS
Typeの代わりにRecordSet使ったりする Field設定いちいちするの面倒だけど
Filterとか使えるしCopyFromRecorSetとかできるし
956: 06/07(土)01:20 ID:hTJ86lb5(1/2)調 AAS
>>954
昔はdirやnameだったけど、今はfso使ってればいいんじゃね
957: 06/07(土)04:19 ID:GCIZhVy1(1)調 AAS
>>954
その程度の処理なら、冗長で困ることなんかほとんどないよ
自分に理解できる形で書くのが、長い目で見れば一番保守性が高いんだから
ちゃんと動いてる物を直そうとして壊すことも多いから、そっとしとけ
958: 06/07(土)07:03 ID:QQtzQfGp(1/6)調 AAS
>>954
末尾の円マーク有無で毎回処理を分岐させてるのならBuildPathを使え
959(1): 06/07(土)09:36 ID:zGsllLLl(1)調 AAS
>>954
その冗長なコードとやらを貼ってみれば何が悪いか指摘してもらえると思うぞ
960: 06/07(土)10:26 ID:pGBLBsE0(1)調 AAS
.netの文字列操作ライブラリとか見たらいたせりつくせりで贅沢過ぎるわ!って怒り出しそう
961(1): 06/07(土)12:33 ID:NHsDgqoS(1/4)調 AAS
タスクバーのアイコンを取得したくて、下記のサイトの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
962(1): 06/07(土)13:25 ID:QQtzQfGp(2/6)調 AAS
https://qiita.com/Mrs_P/items/5c8070fd880b9deb284a
↑ここの人がVBAで似たようなことやってますね
GetReferenceElementという関数の中に >>961 と同等のコードが書かれているから
hTaskBarの値がおかしいんじゃないの?
これでブラウザの自動操縦できるのかぁ 便利そうだな
963: 06/07(土)13:32 ID:NHsDgqoS(2/4)調 AAS
>>962
このサイトも見た
hTaskBarの値は、C#版とVBA版で同じ値だったので、正しいと思う。
Chromeのウィンドウハンドルでやった場合は、ちゃんと動いた
964(1): 06/07(土)13:58 ID:QQtzQfGp(3/6)調 AAS
これで最後の行まで動いたよ
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(1): 06/07(土)14:07 ID:QQtzQfGp(4/6)調 AAS
もうひとつの方もこれで動いた
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(1): 06/07(土)15:15 ID:NHsDgqoS(3/4)調 AAS
>>965
あ、
Windows 11だと動かないな…
>>964のタスクバーのボタンは動いたけど、
>>965のトレイアイコンは、最後の1行で、やっぱExcelごとハングアップで強制終了するわ
(Set windowElementTray = pUIAutomation.ElementFromHandle(ByVal hWndToolbar))
C#版は、>>965のトレイアイコンもちゃんと動くんだけど…
967(4): 06/07(土)16:04 ID:I++ihMYF(1/2)調 AAS
>>959
例えばファイルシステムで
フォルダ1の中から指定の文字列を含むフォルダを探して
見つかったフォルダのパスを取得して
さらにそのフォルダの中から指定の文字列を含むフォルダを探して
見つかったフォルダのパスを取得して
そのフォルダの中に指定のフォルダがあるか確認してなかった場合はフォルダを作成するコードです
2〜3回同じ様な事を繰り返しているので冗長な気がしてなりません
968: 06/07(土)16:09 ID:WTKqP7i+(1)調 AAS
>>967
それそのままAIに投げたら一瞬で書いてくれるよ
969: 947 06/07(土)16:28 ID:ADmBeqPj(1)調 AAS
>>948 949, 950
ありがとうございます
マイクロソフトのサイトは機械翻訳がどうも…、と敬遠していましたが、参照してみます
それから洋書、かぁ…
970(1): 06/07(土)17:36 ID:hTJ86lb5(2/2)調 AAS
>>967
それを平で書いてるなら冗長
再帰処理でやるのがあるべき姿
まずは指定フォルダ下の全フォルダを出力する再帰処理書いてみ
(全てが再帰処理ではない。呼び出し元処理と再帰処理の2つ書くことになる。念の為)
971(1): 06/07(土)17:47 ID:QQtzQfGp(5/6)調 AAS
>>966
Windows11はタスクバーに使われてるクラスが変わってるらしいから関係あるかもよ
https://www.autohotkey.com/boards/viewtopic.php?style=19&t=108539
AHKにクラス名を調べるツールがついてたような
972: 06/07(土)17:55 ID:nK7i38Q0(1)調 AAS
>>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
あとは関数の中身を書くだけ
973: 06/07(土)18:21 ID:QQtzQfGp(6/6)調 AAS
>>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
974: 06/07(土)18:49 ID:NHsDgqoS(4/4)調 AAS
>>971
んー
でも、C#ではちゃんと動くので、VBA側の問題な気が…
クラスが変わってるのも知ってる。
975(1): 06/07(土)22:19 ID:I++ihMYF(2/2)調 AAS
>>970
やっぱりそうですよね
再帰処理を頑張って覚えます
976(2): 06/08(日)02:30 ID:bVJzS0fI(1/2)調 AAS
>>975
そやね
たったこれだけでフォルダ階層どこまでも潜れるのかと感動すると思う
(かもしれないw)
フォルダ再帰ができたら各全ファイル名列挙も再帰処理の中に追加しとき
いつか使う時が来る
977(1): 06/08(日)03:49 ID:kACuu3za(1)調 AAS
こんなので偉そうにする馬鹿
978(1): 06/08(日)10:13 ID:szoadHGe(1)調 AAS
>>977
わざわざ「私バカです」って手を挙げて出てきてどうした
979: 897 06/08(日)10:59 ID:BE7fUg1L(1/2)調 AAS
>>976
昔だったら stack overflowとか心配してたけど今はあまり気にしなくて良さそうだね
980(1): 06/08(日)11:01 ID:j4jIPbHU(1/2)調 AAS
.netのAPIラッパー関数もソース見ると大抵泥臭い事やってんのよね
981(1): 06/08(日)11:03 ID:4qkaLQIW(1)調 AAS
スタック領域は昔からほとんど変わってないから気にする必要はある
982(1): 06/08(日)11:07 ID:j4jIPbHU(2/2)調 AAS
Excel VBA 質問スレ Part83
2chスレ:tech
983(1): 897 06/08(日)11:11 ID:BE7fUg1L(2/2)調 AAS
>>982
乙彼
>>981
共有サーバのアドレス変わった時、全フォルダの奥までショートカット探して書き換えたけど
何ともなかったからそんなもんだと思ってた
984(1): 06/08(日)12:43 ID:gXHyLlYW(1)調 AAS
>>976
再帰処理のコード自体はわかるのですが、If文で再帰処理をする、しないまでは考えてなかったです
985: 06/08(日)14:43 ID:bVJzS0fI(2/2)調 AAS
>>984
if?
途中から折り返す時のこと?
それなら必要
986: 06/08(日)16:28 ID:46RFXcFD(1)調 AAS
2階層しか掘らないのにわざわざ再帰処理にするかなぁ
987: 06/08(日)16:56 ID:DI4VVn6/(1)調 AAS
>>978
構ってもらうのも大変なんだぞ
察してあげなきゃ
988: 06/08(日)17:17 ID:8915HtnW(1)調 AAS
>>983
スタックさせたまま全ファイル走査なんてしないだろうから、
ファイルの数何個あろうが同じでは?
989: 06/08(日)19:19 ID:4BwIalv3(1)調 AAS
ソース的に簡単にするなら全ファイルのフルパス取って正規表現だな
990: 06/09(月)07:30 ID:UIpY0QNU(1)調 AAS
フォルダのショートカットファイルがある場合の動作確認はした方がいいぞ
991: 06/09(月)08:19 ID:EHQrQQev(1)調 AAS
シンボリックリンクとジャンクションとハードリンクも動作確認した方がいいぞ
パスが255文字超えた場合も動作確認した方がいいぞ
992(1): 06/10(火)20:52 ID:RKOrDLCJ(1)調 AAS
VBAのfor eachやfor nextでif文を使用して条件に合わなかった時にnext するにはどうしたらいいでしょうか?
993: 06/10(火)21:05 ID:94f6xD2K(1)調 AAS
forの中をDo-Loopで囲んで脱出したい時はExit Doする
994: 06/10(火)21:05 ID:zK5HBYNC(1)調 AAS
>>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ブロックを記述しないことで、条件が合わない場合は自動的に次のループへ進みます。
995: 06/10(火)21:17 ID:KLsW+s5l(1)調 AAS
next の手前にgoto
996: 06/10(火)21:35 ID:chtn5cci(1)調 AAS
gotoでnext前のラベルに飛ぶ。ラベルは
CONTINUE_1:
など
997: 897 06/10(火)21:41 ID:4RtejL7X(1)調 AAS
C言語の呪いから解けずにGoTo使いにくい俺
998: 06/10(火)21:55 ID:qJv58WHL(1)調 AAS
無理して使うもんじゃない
そもそもifで処理せずにnextさせたいなら、
逆にifで処理させれば条件に当てはまらなければnextになるんだし
999: 06/10(火)21:57 ID:YNq6kTxr(1/2)調 AAS
馬鹿ばっかで呆れるスレ
1000: 06/10(火)21:58 ID:YNq6kTxr(2/2)調 AAS
馬鹿ばっか
1001(1): 1001 ID:Thread(1/2)調 AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 137日 18時間 26分 52秒
1002(1): 1002 ID:Thread(2/2)調 AAS
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
2ch板:login
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.474s*