!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part73
https://mevius.5ch.net/test/read.cgi/tech/1631485799/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Excel VBA 質問スレ Part74
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ d3fd-v8OD)
2021/12/20(月) 01:40:59.22ID:jnlr9GaR0461デフォルトの名無しさん (ブーイモ MM66-kEIx)
2022/01/19(水) 20:58:42.62ID:B4PAoBE9M リンク切れで機能しないゴミとなったブックをお目にかかったことがないなら幸せなことだな
462デフォルトの名無しさん (ワッチョイ a156-sTIO)
2022/01/19(水) 22:01:47.23ID:K9C4LDWb0 エクセルは詳しくないけど、「存在しない可能性すらある
グローバル変数」ってこと?
ちょっと学んで、「どこからでもセルの書き換え効くの?
グローバル変数地獄じゃない?」と思ったけど、もっと
大規模に起こり得るってこと?
グローバル変数」ってこと?
ちょっと学んで、「どこからでもセルの書き換え効くの?
グローバル変数地獄じゃない?」と思ったけど、もっと
大規模に起こり得るってこと?
463デフォルトの名無しさん (ワッチョイ a9d0-fIZs)
2022/01/19(水) 22:31:45.36ID:wLv0/dLh0 >>460
フォルダ名(参照・被参照のExcelブックが別々のフォルダにある場合)、ファイル名、シート名、(使用しているなら)テーブル名、あとセルの配置
どれか一つでも変えるとリンク切れになるので、できればあまり使いたくない
ただ、先にも書いたけど状況次第ではやむを得ないこともあるし、もしそのあたりのリスクを払拭できるなら選択肢としてはあるかなと思って書いたけど、
もし、そういうことをそれほど把握する必要がない程度に重要性が高くなく、かつパフォーマンス(速度)重視の話なのであれば、あまり気にしなくていい
でも、これが仕事で何度も使用するような類のものの話だとすれば、パフォーマンスを考える前に運用をよく考えた方がいい
例えば、ファイル数(100個)や参照セル数(ブック1つにつき60セル)が固定で、シートやブックなんかはパス付で保護かけて構造を弄れないようにして、できたらファイル名なんかもアクセス権を設定して変更できないようにするか、ファイルを扱う人に絶対変えないようにしっかり申し送りするとか
もしくは構造を弄られたとしてもすぐ元どおりにできるぐらいのシンプルな作り、あるいは壊されてもすぐ復元できるようにしておくとか
どんな状況なのかは分からないけど、何を優先すべきなのかをよく整理した方がいい、という話になると思う
フォルダ名(参照・被参照のExcelブックが別々のフォルダにある場合)、ファイル名、シート名、(使用しているなら)テーブル名、あとセルの配置
どれか一つでも変えるとリンク切れになるので、できればあまり使いたくない
ただ、先にも書いたけど状況次第ではやむを得ないこともあるし、もしそのあたりのリスクを払拭できるなら選択肢としてはあるかなと思って書いたけど、
もし、そういうことをそれほど把握する必要がない程度に重要性が高くなく、かつパフォーマンス(速度)重視の話なのであれば、あまり気にしなくていい
でも、これが仕事で何度も使用するような類のものの話だとすれば、パフォーマンスを考える前に運用をよく考えた方がいい
例えば、ファイル数(100個)や参照セル数(ブック1つにつき60セル)が固定で、シートやブックなんかはパス付で保護かけて構造を弄れないようにして、できたらファイル名なんかもアクセス権を設定して変更できないようにするか、ファイルを扱う人に絶対変えないようにしっかり申し送りするとか
もしくは構造を弄られたとしてもすぐ元どおりにできるぐらいのシンプルな作り、あるいは壊されてもすぐ復元できるようにしておくとか
どんな状況なのかは分からないけど、何を優先すべきなのかをよく整理した方がいい、という話になると思う
464デフォルトの名無しさん (ワッチョイ bd5f-CIJN)
2022/01/19(水) 22:43:22.55ID:zGHKrub60 >>460
親からひ孫世代まで参照が繋がってるファイル群なんてものが存在した
親からひ孫世代まで参照が繋がってるファイル群なんてものが存在した
465デフォルトの名無しさん (ワッチョイ a22e-c1hp)
2022/01/19(水) 22:52:36.39ID:TxiQul+S0 >>464
参照繫ぐくらいなら、ファイルパスもセルに記入して上書きさせるように実装するわ。それくらいリンクは嫌だわ。
参照繫ぐくらいなら、ファイルパスもセルに記入して上書きさせるように実装するわ。それくらいリンクは嫌だわ。
46694 (ワッチョイ 82ad-WmTr)
2022/01/19(水) 23:01:56.42ID:J6vWAZC60 なるほど。理解出来ました。
ありがとうございます。
運用的には
VBAでファイル名算出する
シート名が違っていたり、フォーマットズレしていたら検出したいチェックツールにしたいので問題なさそうです。
参照エラーがでたら壊した人のところに殴り込みに行くシステムですね。
ありがとうございます。
運用的には
VBAでファイル名算出する
シート名が違っていたり、フォーマットズレしていたら検出したいチェックツールにしたいので問題なさそうです。
参照エラーがでたら壊した人のところに殴り込みに行くシステムですね。
467デフォルトの名無しさん (ワッチョイ bd5f-2j/7)
2022/01/20(木) 00:15:58.14ID:gV+Fwxtn0 まあ、まともに作ったファイルサーバなら
shadow copy くらいは残ってるだろうがね。
shadow copy くらいは残ってるだろうがね。
468デフォルトの名無しさん (アウアウウー Sa05-wAYo)
2022/01/20(木) 06:56:43.44ID:AmtKyR6La 無理して変な機能追加するから
後で見返した時にワケわからなくなる
後で見返した時にワケわからなくなる
469デフォルトの名無しさん (ワッチョイ 827c-823B)
2022/01/20(木) 08:28:58.94ID:mCK9tQrM0 >>468
それはみんなそう
なので少しでもわかりやすいように書いておくことが必要
慣れてないうちはコメント付けまくるのもありだと思う
これは何の変数かとか、大きく何をしているか、この行は何をしているか書いとけばリファクタリングするのにも楽になる
それはみんなそう
なので少しでもわかりやすいように書いておくことが必要
慣れてないうちはコメント付けまくるのもありだと思う
これは何の変数かとか、大きく何をしているか、この行は何をしているか書いとけばリファクタリングするのにも楽になる
470デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 08:52:11.33ID:aoz8cIff0 >>466
毎日カチコミになるのが目に見えているゾ
毎日カチコミになるのが目に見えているゾ
471デフォルトの名無しさん (ワッチョイ a9e3-XPTB)
2022/01/20(木) 09:39:15.12ID:+AoyW20h0 どうしても100個のファイルに分けなければならないのか
一つのブックに100シート突っ込むことはできないのか
とか考えたりはするかも
一つのブックに100シート突っ込むことはできないのか
とか考えたりはするかも
472デフォルトの名無しさん (オッペケ Srd1-2j/7)
2022/01/20(木) 12:41:49.38ID:NS2MNDvFr ファイルコピーか、シートのコピーで
バックアップ取っておくとかは考えるかも。
バックアップ取っておくとかは考えるかも。
473デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 12:47:52.34ID:aoz8cIff0 取引先一件につき、ファイル一つ
それをマクロで集計
最初30個ぐらいだったファイルが、
会社が成長して、100ファイルになったことはあったな
フォーマットやファイルは全て自分で管理してたから問題なかったけど、
今も大丈夫かなぁ
あれ手で計算するのは大変すぎ
それをマクロで集計
最初30個ぐらいだったファイルが、
会社が成長して、100ファイルになったことはあったな
フォーマットやファイルは全て自分で管理してたから問題なかったけど、
今も大丈夫かなぁ
あれ手で計算するのは大変すぎ
474デフォルトの名無しさん (ワッチョイ 6eda-soNI)
2022/01/20(木) 13:46:34.45ID:BPf7HX0l0 1ファイル45個のクエリーを含む同様のファイルが
13地点×6ヶ年分=78個あって、
これをシーケンシャルに1つずつ、For Nextで更新するよう組んだ。
最初の2ヶ月目くらいまでは7時間くらいで更新出来てたが、
3ヶ月目以降は毎回どこかの、
Set tblQ = ThisWorkbook.Worksheets(ws).ListObjects(q)
と、ワークシート名とクエリー名を変数に代入するところでコケる・・・
その都度、コードを削除していったん保存、
再度貼り付けてデバッグし続行させる
沼にはまった。
13地点×6ヶ年分=78個あって、
これをシーケンシャルに1つずつ、For Nextで更新するよう組んだ。
最初の2ヶ月目くらいまでは7時間くらいで更新出来てたが、
3ヶ月目以降は毎回どこかの、
Set tblQ = ThisWorkbook.Worksheets(ws).ListObjects(q)
と、ワークシート名とクエリー名を変数に代入するところでコケる・・・
その都度、コードを削除していったん保存、
再度貼り付けてデバッグし続行させる
沼にはまった。
475デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 13:49:08.24ID:aoz8cIff0476デフォルトの名無しさん (ワッチョイ 6eda-soNI)
2022/01/20(木) 13:57:12.27ID:BPf7HX0l0 >>475
アドバイス、ありがとう。
一応、開く78個のファイルは1個ずつ保存して閉じているけど、
大元のVBAを持つbookをその都度保存せよ
ということかしら?
そういや、プロジェクトエクスプローラーに
既に処理が終わって閉じたbookのファイル名が残って
どんどん増えて行ったような・・・
こっちは1ファイル処理後ごとに上書き保存とかの処理は入れてなかった。
アドバイス、ありがとう。
一応、開く78個のファイルは1個ずつ保存して閉じているけど、
大元のVBAを持つbookをその都度保存せよ
ということかしら?
そういや、プロジェクトエクスプローラーに
既に処理が終わって閉じたbookのファイル名が残って
どんどん増えて行ったような・・・
こっちは1ファイル処理後ごとに上書き保存とかの処理は入れてなかった。
477デフォルトの名無しさん (ワッチョイ 02da-9BXF)
2022/01/20(木) 13:57:52.65ID:HwD0Q83s0 なんで全部Excelでやろうとするかね ボリューム見て将来鑑みて、どっかの時点で「これはパンクする」
ってぇ判断をしなかったツケだろ 経費抑制? むしろ無駄な経費が膨大に掛かってるのには目を瞑るんだ へー
ってぇ判断をしなかったツケだろ 経費抑制? むしろ無駄な経費が膨大に掛かってるのには目を瞑るんだ へー
478デフォルトの名無しさん (ワッチョイ bd5f-2j/7)
2022/01/20(木) 14:17:24.56ID:gV+Fwxtn0 >>474
変数は毎処理ごとに開放してる?
変数は毎処理ごとに開放してる?
479デフォルトの名無しさん (ワッチョイ 827c-823B)
2022/01/20(木) 14:28:11.68ID:mCK9tQrM0480デフォルトの名無しさん (ブーイモ MMf6-kEIx)
2022/01/20(木) 14:32:45.01ID:bfB7zVPYM kintoneとかでいいでしょ
481デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 14:40:11.29ID:aoz8cIff0 >>476
>一応、開く78個のファイルは1個ずつ保存して閉じているけど、
もし、
set foo = workbook.open~~~)
みたいにしてたら、最後に
set foo = nothing
を挟まないと、ずっとメモリ残り続けることになると思う。>478さんの指摘がこれ
>大元のVBAを持つbookをその都度保存せよ
これはかなりオススメ。
コードの内容がわかって無くても、エクセルファイルを保存すると大体うまくいく
※保存時に色々とうまくやってくれてるっぽい
>>477
それ言い出すと全企業が大企業並の設備を整える必要がある
ある程度拡張性を備えた上で、「5年後は別システムに移行しているだろう」のような判断ができればいいね
基本、要素(営業や取引先)がドカドカ増えないなあ、システムは特に移行しなくていいと思う。
多少使いにくくても、ノウハウが切り捨てられる方が惜しい
>一応、開く78個のファイルは1個ずつ保存して閉じているけど、
もし、
set foo = workbook.open~~~)
みたいにしてたら、最後に
set foo = nothing
を挟まないと、ずっとメモリ残り続けることになると思う。>478さんの指摘がこれ
>大元のVBAを持つbookをその都度保存せよ
これはかなりオススメ。
コードの内容がわかって無くても、エクセルファイルを保存すると大体うまくいく
※保存時に色々とうまくやってくれてるっぽい
>>477
それ言い出すと全企業が大企業並の設備を整える必要がある
ある程度拡張性を備えた上で、「5年後は別システムに移行しているだろう」のような判断ができればいいね
基本、要素(営業や取引先)がドカドカ増えないなあ、システムは特に移行しなくていいと思う。
多少使いにくくても、ノウハウが切り捨てられる方が惜しい
482デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 14:41:43.21ID:aoz8cIff0483デフォルトの名無しさん (ワッチョイ 6eda-soNI)
2022/01/20(木) 14:41:48.98ID:BPf7HX0l0 >>478
してなくて、ぼんやり「まずはこのあたりをやらなきゃアカンのかなぁ・・・」とは思ってた。
次に更新する月初めまでにやりまする。
大元のbookで、
"For i To k" より後の、
"Next i" までに使った変数全てについて
Set 変数名 = Nothing
を "Next i" の直前に入れる感じで?
してなくて、ぼんやり「まずはこのあたりをやらなきゃアカンのかなぁ・・・」とは思ってた。
次に更新する月初めまでにやりまする。
大元のbookで、
"For i To k" より後の、
"Next i" までに使った変数全てについて
Set 変数名 = Nothing
を "Next i" の直前に入れる感じで?
484デフォルトの名無しさん (ブーイモ MMf6-kEIx)
2022/01/20(木) 14:48:42.80ID:bfB7zVPYM485デフォルトの名無しさん (ワッチョイ bd5f-2j/7)
2022/01/20(木) 14:49:07.12ID:gV+Fwxtn0 一つのプロシージャで全処理するより
Class とか、Function 使う方が良いかもね。
Class とか、Function 使う方が良いかもね。
486デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 15:07:43.50ID:aoz8cIff0487デフォルトの名無しさん (ワッチョイ bd5f-2j/7)
2022/01/20(木) 15:16:04.35ID:gV+Fwxtn0 ふーん。
オレなら処理毎にFunction プロシージャに引数で渡してあげて
ループ処理終わったら、変数開放するけどな。
変に長ったらしいのより、そっちの方が解読性がよくなる。
オレなら処理毎にFunction プロシージャに引数で渡してあげて
ループ処理終わったら、変数開放するけどな。
変に長ったらしいのより、そっちの方が解読性がよくなる。
488デフォルトの名無しさん (ワッチョイ 6e8e-SRyr)
2022/01/20(木) 15:19:27.67ID:n5KSDES60 >>481
お前みたいな奴がメンテできないシステムを作り出すのだぞ
お前みたいな奴がメンテできないシステムを作り出すのだぞ
489デフォルトの名無しさん (ワッチョイ bd5f-2j/7)
2022/01/20(木) 15:20:13.56ID:gV+Fwxtn0 まあ、オレはAccess VBA専門なので
Excel VBA は遠い記憶ですが…
シンプル・イズ・ベスト。
Excel VBA は遠い記憶ですが…
シンプル・イズ・ベスト。
490デフォルトの名無しさん (ラクッペペ MM66-Dw/N)
2022/01/20(木) 15:20:30.61ID:/dOetE+CM バカがやると引数地獄かグローバル地獄になんだよ
491デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 15:21:57.99ID:aoz8cIff0492デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 15:22:53.50ID:aoz8cIff0 >>490
なるほどw
なるほどw
493デフォルトの名無しさん (ワッチョイ bd5f-2j/7)
2022/01/20(木) 15:24:46.85ID:gV+Fwxtn0494デフォルトの名無しさん (ワッチョイ bd5f-2j/7)
2022/01/20(木) 15:38:37.39ID:gV+Fwxtn0 確かにグローバル変数は使わない方が良い。
ホーム・プロシージャからFunction へ飛ばして
処理させてあげて
戻り値を次のFunctionへ…
って感じで作ると、テスト工程の時に楽になる。
デッカいシステムを組むとそっちの方が絶対楽だし
改修の時も、解読に困らないからね。
ホーム・プロシージャからFunction へ飛ばして
処理させてあげて
戻り値を次のFunctionへ…
って感じで作ると、テスト工程の時に楽になる。
デッカいシステムを組むとそっちの方が絶対楽だし
改修の時も、解読に困らないからね。
495デフォルトの名無しさん (ワッチョイ 6e8e-SRyr)
2022/01/20(木) 15:56:22.20ID:n5KSDES60 >>491
いや、お前の能力が足りないだけだぞ
いや、お前の能力が足りないだけだぞ
496デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 16:21:54.83ID:aoz8cIff0 エクセルの場合は、エクセルという超グローバルオブジェクトがある
それをメインに据えれば良いと思うけどな
それをメインに据えれば良いと思うけどな
497デフォルトの名無しさん (ワッチョイ 82da-gAlZ)
2022/01/20(木) 17:01:00.66ID:ovHTHlPT0 ホント、マクロは組む人によってその人のカラーや癖が出るとは言ったもんだね。
498デフォルトの名無しさん (ワッチョイ 02b5-zS0L)
2022/01/20(木) 17:03:05.54ID:GNfzU0ds0 変数を日本語というか漢字とか使うのって邪道?
行とか列とかそのまま漢字文字で使ってるんだけど
行とか列とかそのまま漢字文字で使ってるんだけど
499デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 17:03:18.69ID:aoz8cIff0500デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 17:06:10.63ID:aoz8cIff0501デフォルトの名無しさん (ワッチョイ 6eda-soNI)
2022/01/20(木) 17:34:30.16ID:BPf7HX0l0 >>498
漢字をマクロ内で使って、
この5〜6年くらいの間で知ってるだけで少なくとも2回、
MSのupdateで動かなくなってた記憶があるので
それに対処出来ればOKかと。
Rangeで引っ張る定義名とかsheet名は
特殊な記号は避けて漢字使っちゃってる。
漢字をマクロ内で使って、
この5〜6年くらいの間で知ってるだけで少なくとも2回、
MSのupdateで動かなくなってた記憶があるので
それに対処出来ればOKかと。
Rangeで引っ張る定義名とかsheet名は
特殊な記号は避けて漢字使っちゃってる。
502デフォルトの名無しさん (ワッチョイ 02da-9BXF)
2022/01/20(木) 17:50:55.00ID:HwD0Q83s0 日本語(漢字)でもいいんだ へー っていうレベルのが真似して安易に使い出したらカオス
他人事だから後は野となれ山となれ っていう発想としか思えない
日本語OSが出来てからやれよ とは思う 米語OS使わざるを得ないなら粛々と従ってろや と
ま、だからってローマ字に換えて30文字ぐらいのモジュールが40ヶぐらい並んでるのを見た時には一時間ぐらい気絶したけど
getsumatsukoushinn() nenjikoushintokuisakibetuhinmokubetsu() あのさ、、、 これにOK出したの誰よ?
他人事だから後は野となれ山となれ っていう発想としか思えない
日本語OSが出来てからやれよ とは思う 米語OS使わざるを得ないなら粛々と従ってろや と
ま、だからってローマ字に換えて30文字ぐらいのモジュールが40ヶぐらい並んでるのを見た時には一時間ぐらい気絶したけど
getsumatsukoushinn() nenjikoushintokuisakibetuhinmokubetsu() あのさ、、、 これにOK出したの誰よ?
503デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 17:51:21.68ID:aoz8cIff0 そういや何年か前、accessVBAだっけ?2byte文字あると全部エラーになるみたいなのあったな
504デフォルトの名無しさん (ワッチョイ 827c-823B)
2022/01/20(木) 18:02:49.63ID:mCK9tQrM0 >>502
ワロス
ワロス
505デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/20(木) 18:26:03.22ID:aoz8cIff0 >>502
こういうの見るとoption explicit必須何やなって思わされる
こういうの見るとoption explicit必須何やなって思わされる
506デフォルトの名無しさん (オッペケ Srd1-2j/7)
2022/01/20(木) 18:30:19.80ID:NS2MNDvFr 開発現場のローカルルールは
2バイト文字禁止が普通だけどね。
色んな環境で使うことを想定したら
日本語とかありえん。
コーディングの時は日本語だけど、
最終的に全置換で英語表記に変える。
2バイト文字禁止が普通だけどね。
色んな環境で使うことを想定したら
日本語とかありえん。
コーディングの時は日本語だけど、
最終的に全置換で英語表記に変える。
507デフォルトの名無しさん (ドコグロ MM96-eOJp)
2022/01/20(木) 20:06:44.42ID:KxaVQnjRM > 色んな環境で使うことを想定したら
Excel VBA でそんなことを気にしないといけない状況って相当珍しいだろw
Excel VBA でそんなことを気にしないといけない状況って相当珍しいだろw
508デフォルトの名無しさん (ブーイモ MMe5-soNI)
2022/01/20(木) 20:09:21.62ID:WDmMC3D+M 俺が前に行ってた派遣先ではC#で漢字の変数名や関数名とか自由に使ってたわ
業界ではそれなりに知られた老舗のソフトメーカーなんだけど
まあ、そういう職場もあるってことで
業界ではそれなりに知られた老舗のソフトメーカーなんだけど
まあ、そういう職場もあるってことで
509デフォルトの名無しさん (ワッチョイ cd2f-Nrkm)
2022/01/20(木) 20:34:21.90ID:NL1fx3HA0 日本語以外での展開を考えてるならまあ2バイト文字禁止で良いんじゃね
日本語環境で開発してる段階で漢字禁止とかあんまり見ないけどな
ただ、メソッド名に日本語は過去にえらいことになった例があるからなぁ...
日本語環境で開発してる段階で漢字禁止とかあんまり見ないけどな
ただ、メソッド名に日本語は過去にえらいことになった例があるからなぁ...
510デフォルトの名無しさん (ワッチョイ 6e8e-SRyr)
2022/01/20(木) 23:42:09.41ID:n5KSDES60 ID:aoz8cIff0
いつもの馬鹿でしたとさ
いつもの馬鹿でしたとさ
511デフォルトの名無しさん (ワッチョイ 82da-gAlZ)
2022/01/21(金) 02:47:14.61ID:XETJK2Tn0 派遣てなになに?
VBA技術者の派遣とかあるんだ?
VBA技術者の派遣とかあるんだ?
512デフォルトの名無しさん (オッペケ Srd1-2j/7)
2022/01/21(金) 03:05:10.67ID:iDAtgXvmr 派遣業(ピンハネ屋)を禁止にすれば
日本人の給料は上がります。
日本人の給料は上がります。
513デフォルトの名無しさん (ワッチョイ 82da-gAlZ)
2022/01/21(金) 05:15:31.24ID:XETJK2Tn0 派遣て確か専門職だからめちゃめちゃ稼げると聞いたけど、どうなの??
那須は出ないとは聞いたけど時給はめっちゃ高いと聞いたものでして。
那須は出ないとは聞いたけど時給はめっちゃ高いと聞いたものでして。
514デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/21(金) 07:53:02.69ID:U4E8wi5/0515デフォルトの名無しさん (ワッチョイ 82da-gAlZ)
2022/01/21(金) 08:07:59.20ID:XETJK2Tn0 へえ、1500から2000円ねそうなんだ。
自分田舎住みだからその時給はかなり水準高いわ。
こっちなんてどんだけExcelの技術あっても良くて時給1200円前後。
マクロ書ける人材は貴重だからもっと給料上げるべきだと思う。
自分田舎住みだからその時給はかなり水準高いわ。
こっちなんてどんだけExcelの技術あっても良くて時給1200円前後。
マクロ書ける人材は貴重だからもっと給料上げるべきだと思う。
516デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/21(金) 08:29:03.61ID:U4E8wi5/0 企業常駐型だから、基本かなり居づらいし
VBAでゴリゴリの開発や保守なんて絶対にやらんほうがいいわ
VBAでゴリゴリの開発や保守なんて絶対にやらんほうがいいわ
517デフォルトの名無しさん (ワッチョイ 82da-gAlZ)
2022/01/21(金) 08:45:23.59ID:XETJK2Tn0 あ、常駐型SEを思い出した。
給料はもっと貰うべき。
給料はもっと貰うべき。
518デフォルトの名無しさん (ワッチョイ a963-nIc1)
2022/01/21(金) 08:51:43.72ID:k97g2FVL0 適正が有るだけで大した労力使わないのに給料は高いんだよ
楽だよな
楽だよな
519デフォルトの名無しさん (ワッチョイ a936-9BXF)
2022/01/21(金) 09:29:31.93ID:KSflUQH80 ExcelでEnumChildWindowsを使って他アプリの子ウィンドを取得するプログラムをテストしています。
と言っても知識がないのでネットからソースをコピーしてテストしているレベルです。
EnumChildWindowsの引数でコールバック関数をしているのですが、コールバック関数を実行した時に順調に
実行される時とEnumChildWindowsを実行した途端Excelが終了する時があります。
何かよくあるミスとかあれば教えてください。
APIの宣言、コールバック関数は標準モジュール、その他はシートモジュールに書いています。
プログラムを張り付けて良いか分からないので張り付けていませんが良いならご指示ください。
よろしくお願いします。
と言っても知識がないのでネットからソースをコピーしてテストしているレベルです。
EnumChildWindowsの引数でコールバック関数をしているのですが、コールバック関数を実行した時に順調に
実行される時とEnumChildWindowsを実行した途端Excelが終了する時があります。
何かよくあるミスとかあれば教えてください。
APIの宣言、コールバック関数は標準モジュール、その他はシートモジュールに書いています。
プログラムを張り付けて良いか分からないので張り付けていませんが良いならご指示ください。
よろしくお願いします。
520デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/21(金) 09:44:43.07ID:U4E8wi5/0 >>519
コードは貼ってくれ
コードは貼ってくれ
521519 (ワッチョイ a936-9BXF)
2022/01/21(金) 11:25:52.95ID:KSflUQH80 519です。
長すぎると怒られるのでいくつかに分けます。
よろしくお願いします。
Sheet1モジュール
'///GetWindowの定数///
Const GW_HWNDFIRST = 0 '基準となるWindowと同じ種類のうち最前面のWindow
Const GW_HWNDLAST = 1 '基準となるWindowと同じ種類のうち最背面のWindow
Const GW_HWNDNEXT = 2 '基準となるWindowの次のWindow
Const GW_HWNDPREV = 3 '基準となるWindowの前のWindow
Const GW_OWNER = 4 '基準となるWindowのオーナーWindow
Const GW_CHILD = 5 '基準となるWindowの子WindowのうちトップレベルのWindow
Dim myHwnd As LongPtr '検索ボタンのハンドルを記憶
Sub Test1()
'アプリhogeの検索ボタンを探す
Dim Ret As LongPtr
Dim hwnd As LongPtr
hwnd = FindWindow(vbNullString, "hoge") 'トップウィンド
hwnd = FindWindowEx(hwnd, 0, vbNullString, "hoge_1")'検索ボタンが所属している子ウィンド
Ret = EnumChildWindows(hwnd, AddressOf EnumChildProc, 0)
myHwnd = GetWindow(myHwnd, GW_HWNDPREV)
End Sub
長すぎると怒られるのでいくつかに分けます。
よろしくお願いします。
Sheet1モジュール
'///GetWindowの定数///
Const GW_HWNDFIRST = 0 '基準となるWindowと同じ種類のうち最前面のWindow
Const GW_HWNDLAST = 1 '基準となるWindowと同じ種類のうち最背面のWindow
Const GW_HWNDNEXT = 2 '基準となるWindowの次のWindow
Const GW_HWNDPREV = 3 '基準となるWindowの前のWindow
Const GW_OWNER = 4 '基準となるWindowのオーナーWindow
Const GW_CHILD = 5 '基準となるWindowの子WindowのうちトップレベルのWindow
Dim myHwnd As LongPtr '検索ボタンのハンドルを記憶
Sub Test1()
'アプリhogeの検索ボタンを探す
Dim Ret As LongPtr
Dim hwnd As LongPtr
hwnd = FindWindow(vbNullString, "hoge") 'トップウィンド
hwnd = FindWindowEx(hwnd, 0, vbNullString, "hoge_1")'検索ボタンが所属している子ウィンド
Ret = EnumChildWindows(hwnd, AddressOf EnumChildProc, 0)
myHwnd = GetWindow(myHwnd, GW_HWNDPREV)
End Sub
522519 (ワッチョイ a936-9BXF)
2022/01/21(金) 11:29:13.91ID:KSflUQH80 標準モジュール
Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Declare PtrSafe Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWndParent As LongPtr, ByVal hwndChildAfter As LongPtr, ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Declare PtrSafe Function EnumChildWindows Lib "user32" (ByVal hwnd As LongPtr, ByVal callBackProc As LongPtr, ByRef lParam As LongPtr) As LongPtr
Declare PtrSafe Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As LongPtr, ByVal lpString As String, ByVal cch As LongPtr) As LongPtr
Declare PtrSafe Function GetWindow Lib "user32" (ByVal hwnd As LongPtr, ByVal wCmd As LongPtr) As LongPtr
Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Declare PtrSafe Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWndParent As LongPtr, ByVal hwndChildAfter As LongPtr, ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Declare PtrSafe Function EnumChildWindows Lib "user32" (ByVal hwnd As LongPtr, ByVal callBackProc As LongPtr, ByRef lParam As LongPtr) As LongPtr
Declare PtrSafe Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As LongPtr, ByVal lpString As String, ByVal cch As LongPtr) As LongPtr
Declare PtrSafe Function GetWindow Lib "user32" (ByVal hwnd As LongPtr, ByVal wCmd As LongPtr) As LongPtr
523519 (ワッチョイ a936-9BXF)
2022/01/21(金) 11:35:16.64ID:KSflUQH80 標準モジュールの続きです。
Public Function EnumChildProc(ByVal hwnd As Long) As Long
Dim Ret As LongPtr
Dim Leng As LongPtr
Dim Name As String * 255
Public Function EnumChildProc(ByVal hwnd As Long) As Long
Dim Ret As LongPtr
Dim Leng As LongPtr
Dim Name As String * 255
524519 (ワッチョイ a936-9BXF)
2022/01/21(金) 11:39:21.83ID:KSflUQH80 書込みができないようで中途半端なところで切れてしまいすみません。
残り数行なのですがもう少し後で投稿します。
よろしくお願いします。
残り数行なのですがもう少し後で投稿します。
よろしくお願いします。
525デフォルトの名無しさん (ブーイモ MMf6-soNI)
2022/01/21(金) 12:02:38.78ID:Pj4yIAd6M526デフォルトの名無しさん (アウアウウー Sa05-VGE5)
2022/01/21(金) 12:24:55.64ID:R2BsGPNsa 標準モジュールからユーザーフォームを呼び出して、そこで入力された値を持ってきて処理したいです
試しにシンプルにこんな感じでやっても駄目なんですが、どうすればいいでしょうか?
標準モジュール
Option Explicit
Public ret As Boolean
Sub test()
Dim ret As Boolean: ret = False
UserForm1.Show
MsgBox ret
End Sub
ユーザーフォーム
Private Sub CommandButton1.Click()
Dim ret As Boolean
ret = True
Unload Me
End Sub
これでtestを実行すると、メッセージボックスにFalseが表示されます
ユーザーフォームが出てきてボタンをクリックしたら、Trueをメッセージボックスに表示するようにしたいです
試しにシンプルにこんな感じでやっても駄目なんですが、どうすればいいでしょうか?
標準モジュール
Option Explicit
Public ret As Boolean
Sub test()
Dim ret As Boolean: ret = False
UserForm1.Show
MsgBox ret
End Sub
ユーザーフォーム
Private Sub CommandButton1.Click()
Dim ret As Boolean
ret = True
Unload Me
End Sub
これでtestを実行すると、メッセージボックスにFalseが表示されます
ユーザーフォームが出てきてボタンをクリックしたら、Trueをメッセージボックスに表示するようにしたいです
527519 (ワッチョイ a936-9BXF)
2022/01/21(金) 12:37:47.66ID:KSflUQH80528デフォルトの名無しさん (ワッチョイ 25ce-soNI)
2022/01/21(金) 12:39:51.71ID:aZlF8gD40 >>526
標準モジュール
Option Explicit
Public ret As Boolean
Sub test()
ret = False
UserForm1.Show
MsgBox ret
End Sub
ユーザーフォーム
Private Sub CommandButton1.Click()
ret = True
End Sub
標準モジュール
Option Explicit
Public ret As Boolean
Sub test()
ret = False
UserForm1.Show
MsgBox ret
End Sub
ユーザーフォーム
Private Sub CommandButton1.Click()
ret = True
End Sub
529デフォルトの名無しさん (アウアウウー Sa05-VGE5)
2022/01/21(金) 12:47:38.25ID:R2BsGPNsa530デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/21(金) 14:13:07.69ID:U4E8wi5/0 >>519
多分引数が間違っている。ノートパッドを起動して以下を試して、
返り値の違いを確かめてみて。
修正前は0が返ってるけど、修正後はポインタか参照が返ってるはず
hwnd = FindWindow(vbNullString, "hoge") 'トップウィンド
↓
hwnd = FindWindow("notepad", vbNullString) 'トップウィンド
後は、検索ボックスがどうこう書いてるけど、そういうプログラムを持ってないから検証できないわ
多分引数が間違っている。ノートパッドを起動して以下を試して、
返り値の違いを確かめてみて。
修正前は0が返ってるけど、修正後はポインタか参照が返ってるはず
hwnd = FindWindow(vbNullString, "hoge") 'トップウィンド
↓
hwnd = FindWindow("notepad", vbNullString) 'トップウィンド
後は、検索ボックスがどうこう書いてるけど、そういうプログラムを持ってないから検証できないわ
531デフォルトの名無しさん (スップ Sd82-9BXF)
2022/01/21(金) 14:50:07.67ID:RFcu/rPfd >>526>>529
ユーザーフォーム側で「Dim ret As Boolean」を宣言するとスコープの近い変数に格納されてしまうから不要
自分も同じようなコードをかいたがなくても正しくretにTrueが入る
(「CommandButton1.Click」は構文エラーになると思うが「CommandButton1_Click」だよね)
変数がどうとかいわれるならそもそも変数がpublicでないか参照している変数名がまちがってるとかないか?
ユーザーフォーム側で「Dim ret As Boolean」を宣言するとスコープの近い変数に格納されてしまうから不要
自分も同じようなコードをかいたがなくても正しくretにTrueが入る
(「CommandButton1.Click」は構文エラーになると思うが「CommandButton1_Click」だよね)
変数がどうとかいわれるならそもそも変数がpublicでないか参照している変数名がまちがってるとかないか?
532デフォルトの名無しさん (ワッチョイ 25ce-soNI)
2022/01/21(金) 14:57:28.11ID:aZlF8gD40533デフォルトの名無しさん (スップ Sd82-9BXF)
2022/01/21(金) 15:01:17.70ID:RFcu/rPfd534デフォルトの名無しさん (アウアウウー Sa05-VGE5)
2022/01/21(金) 15:11:34.91ID:R2BsGPNsa535デフォルトの名無しさん (アウアウウー Sa05-VGE5)
2022/01/21(金) 15:17:23.81ID:R2BsGPNsa536デフォルトの名無しさん (スップ Sd82-9BXF)
2022/01/21(金) 15:22:29.45ID:RFcu/rPfd 自分はWin10(20H2)+Excel2013とWin10(21H1)+Office365(サブスクリプション版)の2つで試したけど
どちらもTrueになるね
ちなみに「ret = True」のretをマウスクリックして右クリックのメニューに出てくる「定義」を選択するとどこにジャンプする?
自分はpublic変数にとぶんだが
どちらもTrueになるね
ちなみに「ret = True」のretをマウスクリックして右クリックのメニューに出てくる「定義」を選択するとどこにジャンプする?
自分はpublic変数にとぶんだが
537デフォルトの名無しさん (ワッチョイ 25ce-soNI)
2022/01/21(金) 15:24:18.40ID:aZlF8gD40538デフォルトの名無しさん (ワッチョイ 25ce-soNI)
2022/01/21(金) 15:30:59.33ID:aZlF8gD40 >>529
Dimを外すとエラーが出るってことは、どこかで今回の件とは関係ない別の何かをタイプミスしてる
Option Explicitをコメントアウトした状態でステップ実行するとローカルウィンドウに使用中の変数の一覧が出るから、よーく見直せ
Dimを外すとエラーが出るってことは、どこかで今回の件とは関係ない別の何かをタイプミスしてる
Option Explicitをコメントアウトした状態でステップ実行するとローカルウィンドウに使用中の変数の一覧が出るから、よーく見直せ
539デフォルトの名無しさん (アウアウウー Sa05-VGE5)
2022/01/21(金) 15:46:49.49ID:R2BsGPNsa540デフォルトの名無しさん (スップ Sd82-9BXF)
2022/01/21(金) 16:13:39.82ID:RFcu/rPfd >>537
コントロールとイベントの接続文字はアンダーバーじゃない?
ピリオドで構文エラーになるけどならない場合もあるの?
>>539の作ってるサンプルは>>528通りなの?
自分のサンプルはこんな感じで作ったけど
1.新規ブック作成
2.開発メニューからエディター起動
3.プロジェクトツリーで新規フォーム作成
3.1.コマンドボタン追加
3.2.コマンドボタンダブルクリック
3.3.CommandButton1_Clickに「ret = True」を記述
結果ユーザーフォーム内のコードは下記の状態になる
Option Explicit
Private Sub CommandButton1_Click()
ret = True
End Sub
4.標準モジュール作成
4.1.下記のコードを貼り付け
Option Explicit
Public ret As Boolean
Sub test()
ret = False
UserForm1.Show
MsgBox ret
End Sub
5.test内をクリックしてF5押下で実行
コントロールとイベントの接続文字はアンダーバーじゃない?
ピリオドで構文エラーになるけどならない場合もあるの?
>>539の作ってるサンプルは>>528通りなの?
自分のサンプルはこんな感じで作ったけど
1.新規ブック作成
2.開発メニューからエディター起動
3.プロジェクトツリーで新規フォーム作成
3.1.コマンドボタン追加
3.2.コマンドボタンダブルクリック
3.3.CommandButton1_Clickに「ret = True」を記述
結果ユーザーフォーム内のコードは下記の状態になる
Option Explicit
Private Sub CommandButton1_Click()
ret = True
End Sub
4.標準モジュール作成
4.1.下記のコードを貼り付け
Option Explicit
Public ret As Boolean
Sub test()
ret = False
UserForm1.Show
MsgBox ret
End Sub
5.test内をクリックしてF5押下で実行
541デフォルトの名無しさん (ワッチョイ bd5f-CIJN)
2022/01/21(金) 16:23:57.05ID:IxcxpS5S0 ユーザーフォーム閉じるまでメッセージボックスまで行かないわけか
いつもモードレスだから気づかんかった
いつもモードレスだから気づかんかった
542デフォルトの名無しさん (アウアウウー Sa05-VGE5)
2022/01/21(金) 16:24:33.06ID:R2BsGPNsa >>540
新規ブックで一からやったらできました
組み込みたい既存のブックでやろうとしたところ、Public retに入らない感じでしたが、新しい標準モジュールを作ってやったらできました
なので、最初に書いた先の標準モジュールが原因っぽいんですが、それが何か分からない状態です
上手く動いたコードをそのまま一番上に持ってきているんですが、エラーは出ずに実行されるもPublic retにTrueが入らずにFalseになります
新規ブックで一からやったらできました
組み込みたい既存のブックでやろうとしたところ、Public retに入らない感じでしたが、新しい標準モジュールを作ってやったらできました
なので、最初に書いた先の標準モジュールが原因っぽいんですが、それが何か分からない状態です
上手く動いたコードをそのまま一番上に持ってきているんですが、エラーは出ずに実行されるもPublic retにTrueが入らずにFalseになります
543デフォルトの名無しさん (ワンミングク MM52-/2yr)
2022/01/21(金) 16:40:12.64ID:1Ed+zt1pM 理屈もわからずあちこちからコピペコピペとやってる奴によくある
そろそろ消えろや
そろそろ消えろや
544デフォルトの名無しさん (スップ Sd82-9BXF)
2022/01/21(金) 16:45:47.13ID:uPLc80ynd ファイルもみてないからなんともいえないけどボタンに紐づけたイベントは正しく実行されるの?
ret = Trueの行でF9おすとブレークポイント設定されるからそこで止まるかたしかめたら?
それで止まったなら1行ステップ進めてretに何が入ってるか確認したほうがいいよ
モノづくりするときは1つずつつぶしていくのが大事よ
ret = Trueの行でF9おすとブレークポイント設定されるからそこで止まるかたしかめたら?
それで止まったなら1行ステップ進めてretに何が入ってるか確認したほうがいいよ
モノづくりするときは1つずつつぶしていくのが大事よ
545デフォルトの名無しさん (ワッチョイ cd2f-Nrkm)
2022/01/21(金) 19:18:17.67ID:vzv4Kcp20 標準モジュールじゃなくてThisWorkbookに書いてる予感
546デフォルトの名無しさん (ワッチョイ 023e-xE4Q)
2022/01/21(金) 19:27:54.79ID:7hLshO/z0 インターネットのブラウザ IEとかedgeとかで任意のページを開いてそこから日付とか番号とか特定の決まった箇所にある文字や数字をWordの特定の場所にコピー、挿入する方法はありますか?
できればボタンひとつでできるようになりたいです
できればボタンひとつでできるようになりたいです
547デフォルトの名無しさん (スップ Sd82-9BXF)
2022/01/21(金) 19:45:58.42ID:uPLc80ynd あります。
「vba スクレイピング」「vba word 操作」でぐぐればいくらでもサンプル出てくると思うから好きなのえらぼう
「vba スクレイピング」「vba word 操作」でぐぐればいくらでもサンプル出てくると思うから好きなのえらぼう
548デフォルトの名無しさん (ワッチョイ 6e8e-SRyr)
2022/01/21(金) 22:29:10.29ID:NFZs9l3R0 >>546
Ruby馬鹿だろ
Ruby馬鹿だろ
549デフォルトの名無しさん (ワッチョイ bd5f-2j/7)
2022/01/21(金) 22:34:52.59ID:nlcE6d040 整然としてねえコーディングだな。
頭の中身が現れてるわ。
頭の中身が現れてるわ。
550デフォルトの名無しさん (ワッチョイ bd5f-2j/7)
2022/01/21(金) 22:37:38.53ID:nlcE6d040551デフォルトの名無しさん (ワッチョイ 82da-gAlZ)
2022/01/22(土) 00:26:58.95ID:XmCgkfSL0 コピペプログラマー
552デフォルトの名無しさん (ワッチョイ 827c-823B)
2022/01/22(土) 00:35:52.61ID:9zfa7ona0553デフォルトの名無しさん (ブーイモ MMcd-soNI)
2022/01/22(土) 01:04:10.75ID:NynwR7VqM >>552
どの言語でも外部ライブラリは必要
どの言語でも外部ライブラリは必要
554デフォルトの名無しさん (ワッチョイ a963-nIc1)
2022/01/22(土) 08:00:34.93ID:HGIIomOF0 他社製のweb受注システムから社内の生産管理システムに流し込むときにやったな
CSVダウンロードくらい用意しろってんだ
CSVダウンロードくらい用意しろってんだ
555デフォルトの名無しさん (ワッチョイ 024f-f5bc)
2022/01/22(土) 08:21:46.11ID:R1iyPI8Z0 >>550
同意
どうせ深くWeb系を扱うのであればJavascriptは必須になってくるから勉強するに越したことはないと思うよ。
VBSもVBAの知識があれば何とかなる・・・多分。
IISの知識があればそれでクラシックASPの出来上がりですよ。
本格的にやるならASP.NetだけどObject指向の概念が分かっていないとVBAからだとVB.Netでも少し敷居が高いかも。
どうせWeb版のEXCELとか弄るときはJavascriptだし、今の内に慣れておいた方がいいと思う。
同意
どうせ深くWeb系を扱うのであればJavascriptは必須になってくるから勉強するに越したことはないと思うよ。
VBSもVBAの知識があれば何とかなる・・・多分。
IISの知識があればそれでクラシックASPの出来上がりですよ。
本格的にやるならASP.NetだけどObject指向の概念が分かっていないとVBAからだとVB.Netでも少し敷居が高いかも。
どうせWeb版のEXCELとか弄るときはJavascriptだし、今の内に慣れておいた方がいいと思う。
556デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/22(土) 08:34:08.56ID:DLYfLGcJ0557デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/22(土) 08:36:01.91ID:DLYfLGcJ0 chromeの拡張機能でスクレイピングするのが最も安心安全
サーバーからすれば一番ユーザーに近い
IEは対応してないどころかもうすぐなくなる。
そういやvbaのブラウザはどうなるんだろ?
サーバーからすれば一番ユーザーに近い
IEは対応してないどころかもうすぐなくなる。
そういやvbaのブラウザはどうなるんだろ?
558デフォルトの名無しさん (ワッチョイ f901-Nrkm)
2022/01/22(土) 10:08:57.53ID:r24PNXTk0 for i= 1 to 100 step 1
#If conEnv = 1 Then
ans = d1 * d2
#Else
ans = d1 / d2
#End If
Next i
こんな感じに条件付きコンパイルをしてる場合、
ループ毎にIF判定してるんですか?
#If conEnv = 1 Then
ans = d1 * d2
#Else
ans = d1 / d2
#End If
Next i
こんな感じに条件付きコンパイルをしてる場合、
ループ毎にIF判定してるんですか?
559デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/22(土) 10:56:45.31ID:DLYfLGcJ0 >>558
しない
条件つきコンパイルってのは、実行前にコードを書き換えるようなものと思って良い。実行後は消えて無くなると思って良い。
>>558は、以下と同等に解釈される
Sub foo()
For i = 1 To 100 Step 1
conEnv = 1
ans = d1 + d2
Next i
End Sub
ちなみにこれも上記と同じ。 ans = d1 * d2 は実行されない
for i= 1 to 100 step 1
conEnv = 1
#If conEnv = 1 Then
ans = d1 * d2
#Else
ans = d1 / d2
#End If
Next i
分岐させたいならこう
for i= 1 to 100 step 1
#conEnv = 1
#If conEnv = 1 Then
ans = d1 * d2
#Else
ans = d1 / d2
#End If
Next i
しない
条件つきコンパイルってのは、実行前にコードを書き換えるようなものと思って良い。実行後は消えて無くなると思って良い。
>>558は、以下と同等に解釈される
Sub foo()
For i = 1 To 100 Step 1
conEnv = 1
ans = d1 + d2
Next i
End Sub
ちなみにこれも上記と同じ。 ans = d1 * d2 は実行されない
for i= 1 to 100 step 1
conEnv = 1
#If conEnv = 1 Then
ans = d1 * d2
#Else
ans = d1 / d2
#End If
Next i
分岐させたいならこう
for i= 1 to 100 step 1
#conEnv = 1
#If conEnv = 1 Then
ans = d1 * d2
#Else
ans = d1 / d2
#End If
Next i
560デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/22(土) 11:00:33.05ID:DLYfLGcJ0 あと、下手に条件つきコンパイルは本当にやめたほうがいい。絶対にややこしくなる
唯一使える最適な場面は、コンパイル時にエラーが起こる可能性がある箇所。
パッと思いつくのは、バージョン違いへの対応程度
テスト環境の切り替え〜という人もいるけど、関数でどうこうするのと変わらん
唯一使える最適な場面は、コンパイル時にエラーが起こる可能性がある箇所。
パッと思いつくのは、バージョン違いへの対応程度
テスト環境の切り替え〜という人もいるけど、関数でどうこうするのと変わらん
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- ヨッシー、ヘイホー、テレサ ←こいつらwwwwwwwww
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- くそしてかがやけ
- 一人暮らしだからケツ出してみてるけど
