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


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

Excel VBA 質問スレ Part71



1 名前:デフォルトの名無しさん [2021/05/25(火) 12:48:01.06 ID:mepUVc/i0.net]
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ

※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

209 名前:デフォルトの名無しさん [2021/06/08(火) 10:51:37.03 ID:zTVPbGTxa.net]
>>204
いやいやズレてないよ、>>195がそういう話をしてるんじゃないかって話だったでしょ
ありがとう勉強になる…そうか俺老害側か…

210 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:03:04.11 ID:3w2dwJfs0.net]
>>207
よく嫁
>俺も宣言は他言語同様やるがOptionは気にしないな
>下手するとそれがあるせいで変な場所で宣言してる例をよく見る

Optionがあるせいで変な場所に宣言してる例をよく見るって書いてあるだろ?
そっちの話はOptionの話と関係ある?

後、宣言する場所に関しては老害とかないから安心していいぞ。何故ならもっと新しい言語のVB.NetやC#でも効くスコープの先頭に書くのが一般的だから。

211 名前:デフォルトの名無しさん [2021/06/08(火) 11:06:06.39 ID:zTVPbGTxa.net]
>>208 >>203
option付けたら変数宣言しないとエラー出すじゃないですか

212 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:07:57.69 ID:3w2dwJfs0.net]
>>209
Optionつけようがつけまいが
変数宣言するのは基本だと思うけど?
してないの?

213 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:09:49.36 ID:GIt8+gr30.net]
>>201
まさにそれ

214 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:10:37.61 ID:bCI8JHzDM.net]
>>206
別にお前さんに強要するつもりはないから自分の好きな様に書いてくれ
ただIDEの使い方位は覚えておいた方がいいんじゃないかな
> 一々コードから何の型で宣言しているのか探しにいくのも面倒くさい。

215 名前:デフォルトの名無しさん [2021/06/08(火) 11:15:14.30 ID:zTVPbGTxa.net]
>>210
俺とお前と>>195がしてても、それが基本でも、>>195が良く見るというコードを書く人たちが基本が身についているとは限らないじゃない
だから>>203でわざわざ初心者って言及したんですってば

216 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:16:08.53 ID:3w2dwJfs0.net]
>>212
Visual Studio辺りであればカーソル合わせると
定義した型が表示されるから分かるが
VBAの場合は一々「型の定義」でそこまで
飛ばないといけないし、何度か最寄りの型まで
調べると元の位置に戻ってくるのも
面倒だと思ってるんだけど認識違う?
違うんならそのIDEの使い方とやらを
提示して頂けると有り難いんだけどな

217 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:20:57.88 ID:Bz/vS+dRM.net]
変数の宣言って頭でまとめて宣言するより使う場所で宣言するのが今の主流だった気がするけどウチの会社だけなんかな



218 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:24:56.38 ID:3w2dwJfs0.net]
>>213
よく分からないな
初心者だから変数定義をしていないといいつつ
変数定義しているところがポッと出てくるという。
変数定義してたりしてなかったりというのであれば
もうそういう次元の話ではなくなってくる。

219 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:25:51.75 ID:RLQzdArC0.net]
>>194
だから「設定」と書いてあるだろアホ

220 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:32:15.16 ID:3w2dwJfs0.net]
>>215
状況がよく分からないけど
「使う場所で宣言する」というのは
スコープ毎に纏めていないと言うことだろうか

少なくとも俺が今までやった言語では
そんな流行りは見たことないなぁ
というか見辛いもの

221 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:47:18.41 ID:eotEY1L4M.net]
>>217
おじいちゃん、もうそのレベルの低い話は終わってるからw

222 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 12:12:36.32 ID:zTVPbGTxa.net]
>>211
ごめん

>>216
してないとは言ってないよ。option付けたら必ずさせられるじゃん。してたりしてなかったりにはなり得ない
初心者だから変数定義を最初に必ずするクセがついていないんじゃないかって話です

vba不慣れな人が宣言してない変数を使おうとして、実行時にoptionどおりエラーを言い渡され、慌ててエラー箇所の直前に変数宣言をぶち込む。その結果コードの真ん中に変数宣言がポッと出てくるやつになるんじゃないかってこと

223 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 12:44:31.31 ID:3w2dwJfs0.net]
>>220
言いたいことはやっと伝わった

では話を戻そう。そのコードを見てどう思った?
変数宣言強制設定して変数宣言書き込まないとエラーが出るようにするのが悪いと思った?
そんな奴がポッとそんなところに変数宣言を書き込んだ奴が悪いと思った?

前者というのであればここで話はもう終わり。
恐らくこれ以上話してもお互い得られるものは何もないと思う。

後者と言うのであれば、変数宣言強制した際に少なくとも変数が宣言されていないことは発覚する。これだけで恩恵があることは理解出来るかな?
その辺にポッと書いてしまったことはそれ自体が問題であり、その人に促せばいいんじゃないかと思うけど?

224 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 12:53:13.82 ID:RLQzdArC0.net]
>>219
自分の間違いが顕わになって、反論できないバカ

225 名前:デフォルトの名無しさん [2021/06/08(火) 12:59:24.76 ID:iJBocUpIM.net]
くだらないタイプミスで時間を無駄にしたことはありませんか?

226 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:04:42.37 ID:5PCuzcGlM.net]
設定のことを含めた話ということすら読み取れてなかった7vXXが一番レベル低かったな

227 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:09:06.95 ID:3w2dwJfs0.net]
>>223
ない・・・と言いたいところだけどどうやっても0にはならんわなw

いつも思うのがOption ExplicitがあるんだからOption Strictも用意しといてくれればいいのにと。
変換に際して暗黙の変換をさせずにどれも明示的な変換を漏らさずさせられるようになれば
テストする際も安心して走らせられるのにって思う。
もっとも、人によっては面倒くさいと思う人が出るんだろうなぁ・・・



228 名前:デフォルトの名無しさん [2021/06/08(火) 13:09:33.83 ID:iJBocUpIM.net]
>>218
C#でvar使うなら型の確定する現地じゃないとだめじゃね?

229 名前:デフォルトの名無しさん [2021/06/08(火) 13:14:50.72 ID:zTVPbGTxa.net]
>>221
確認だけど、俺はそのコード見てないし、見てない以上何とも思ってないぞ。俺は>195氏じゃない
>>201>>203は>195の言うコードを予想したものだということを踏まえて、それでも話を続ける?

230 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:17:48.89 ID:3w2dwJfs0.net]
>>226
そもそも型定義出来る言語であまりvarは使わない。まぁ厳密な書き方しない人は使うんだろうけど。
それにそれもスコープが効いてる頭でやる。
むしろC#のvarはVBAのVariantと違う。
別の内部型を使うことによって違う扱いをするようなことは出来ない。
最初に設定された値により使用する型が確定されるため、一度設定したらその型として定義される。
例外があるとすれば無名型とかレイトバインディングにより型が確定するもの。

231 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:21:07.44 ID:3w2dwJfs0.net]
>>227
では「見た」と言うのを「予測した」というのに置き換えて考えればいい。
そう言ったコードをどう判断するか、と言うことにかわりはない。

232 名前:デフォルトの名無しさん [2021/06/08(火) 13:22:00.36 ID:iJBocUpIM.net]
>>228
だからC#では途中で宣言するvarが流行ってますよと

233 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:23:01.01 ID:gtN4dmk3H.net]
VBAの場合、変数は先頭で宣言するのが望ましいとされるけど強制ではない
そして、スコープ内ならどこに書いても効力は同じ

だから使用直前に書くコーディングルールでも動作に支障はない
別人が保守する可能性がある時に、ルールをどう伝えるかが問題になるだけ
コードの先頭にコメントで書いてもいい

参考、「通常、Dim ステートメントをプロシージャの最初に配置します。」
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/dim-statement

234 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:26:59.27 ID:gtN4dmk3H.net]
いちいち先頭に戻って確認するのが面倒と言ってる人がいるけど、ウィンドウが分割できることを知らないのか
あるいはよっぽど狭いモニターでやってるのか
そもそも設計がきちんとできてれば、型も自然と決まってくるんだから確認する必要なんかないだろう
どっちにしろ自己責任で片付く問題でしかない

235 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:32:59.72 ID:3w2dwJfs0.net]
>>230
流行ってない。
C#やVB.Netの場合はそもそも変数の定義と一緒に値を設定出来るからスコープの頭で定義してvarの場合一緒に型を決める頭を設定する。
そしてスコープも関数単位ではなくIfやCase、For文等の細かいブロックに分かれるからそれが最小単位だ。
もしC#で他の誰かが組んだコードが確認出来るならしてみればいい。

236 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:35:48.75 ID:XYNVs0qfM.net]
>>214
そんなに型知りたいときある?
あとそれ先頭で宣言しても似たようなもんじゃね?

237 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:36:47.28 ID:XYNVs0qfM.net]
>>222
終わった話に粘着する爺乙w



238 名前:デフォルトの名無しさん [2021/06/08(火) 13:38:33.25 ID:zTVPbGTxa.net]
>>229
おーけー、じゃあ戻るというか新しい会話だね。

別にどっちも悪くないんじゃない? 少なくともoption付けて悪いってことはないでしょ
可読性の問題については頭にまとめて書くのが当然だとは思ってたし、途中にあったら変だと感じるけど、悪いかは分からん。今日は勉強させて貰った

239 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:40:15.13 ID:3w2dwJfs0.net]
>>232
ウィンドウ分割なんて一つしか出来ない。
ソースを確認するのは有効かも知れないが、そんなんで一々散り散りになった変数の型確認などしていたら大変な手間だ。まだ定義の確認で飛ばした方がマシ

設計どうのと言っているが、そんなコードや型までこと細かく書くことはまずない。
それは設計書ではなくコードそのものをただ日本語の資料におとしたというだけ。コードを見ればいいのだから無駄な作業だ。

240 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:48:16.57 ID:3w2dwJfs0.net]
>>234
何か沢山の人とやり取りしてると話がごっちゃになって・・・すまんな。
俺は使うスコープの先頭に書く派だけど、そっちは何の先頭と言ってるのだろうか。
話はそれによりけりかな。

241 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 13:55:51.97 ID:3w2dwJfs0.net]
>>231
最初に言った
これは可読性の問題だと。
動作に支障がないからと言って関数単位のスコープであればそこだけ確認すれば良いものを
わざわざ大風呂敷広げてそのモジュール単位にする理由が分からない。

242 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 14:04:14.95 ID:3w2dwJfs0.net]
>>236
とりあえずそこまででも理解して頂ければこちらとしても嬉しいし有り難い。

243 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 14:06:51.56 ID:xXU8pzBkM.net]
>>238
>>201からの流れだからSub/Functionの先頭でしょ

244 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 14:10:03.51 ID:3w2dwJfs0.net]
>>241
なるほど、ありがとう。
それなら基本俺も最初からそう言ってるしそれでいいと思う。
モジュール単位で使う必要のあるものはモジュールの頭で書けばいいしね。

245 名前:デフォルトの名無しさん [2021/06/08(火) 14:14:48.37 ID:zTVPbGTxa.net]
>>240
なんかほんと、ごめん。色々ありがとう

246 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 14:16:57.43 ID:3w2dwJfs0.net]
>>243
いえいえ、楽しかったよ

247 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 14:36:31.75 ID:ECc03QiG0.net]
ちゃんと教科書通りにやれ!
と怒鳴られたらどうする?



248 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 14:52:20.28 ID:3w2dwJfs0.net]
後、varで思い出したけど、これは余談になるんだけど、以前ExcelでPythonが使えるようになるかも知れないって話があって、結局のところ塩漬けになってしまったから残念ではあるけれど
つい五月の終わり辺りにExcel webが解放されたね。
使用言語はJavascript、Webのものだから今後HTML、CSS、クライアントやWebサーバー、IISや場合によってはJqueryやDBサーバーの知識が必要になる可能性がある。
いや、お客さんやエンドユーザーさんが「Webで確認したいなぁ」とか言い出しそうな人がいたら要注意だ。
まだどのような影響があるかは分からないけど、場合によってはおじいちゃんでその辺の理解がないと淘汰される可能性があるかも、とだけ言っておこう。

https://www.google.co.jp/amp/s/forest.watch.impress.co.jp/docs/news/1328/019/amp.index.html

249 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 16:03:42.43 ID:aRPmnT2Sd.net]
>>140

wsとqをどういう風に設定しているのか確認しました?

250 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 16:44:43.77 ID:ZMLG7Zjy0.net]
google apps scriptみたいなもんか

251 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 16:59:48.28 ID:3w2dwJfs0.net]
>>248
まさにそんな感じだろうとは思ってる。
ただ、IEには対応していないと書いてあるので
Edgeでは動くだろうけどchromeだとどうか・・・
すまん、ウチに入れてるOfficeは365だけど企業用ではないから確認出来んのよ。

252 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 17:49:08.47 ID:3w2dwJfs0.net]
まぁVBAは今までの資産があるし、今こんな話をするのは早すぎかも知れないけど、この機能を使おうとした場合、大きなお金持ちの会社になると
「じゃーボタン押したらDBの内容表示させようかー」とか軽くお客さんが言い出す可能性もある。
SQLはそのまま使えるけど、ビジネスロジックの部分はどうしようか、とか
「じゃー他のシステムと統合しようかー」とかになったら、上手くそのシステム作成の話に乗れればいいけど、そうでなければお払い箱になる可能性もある。
WebのビジネスロジックにVBAは使えないから他の言語も勉強しなければならない。

これは他のWebの言語やってるところも他人事じゃなくて「じゃー画面はEDGEでEXCELで表示してねー、ダウンロードはいやよー、編集して反映させたいからー」
なんて言われた日にゃUIをこれにしなくてはいけない。

今すぐと言うわけではないし、そうならないことも考えられるけど、ひょっとするとこれからEXCELというものは今までのものと
そういう方向性のものを含めてEXCELと呼ばれることになるかも知れないということ。

まぁ今は聞き流して貰って大丈夫だよ。
ただ、そう言う話があるということだけ心の片隅に置いといて貰えれば。

253 名前:デフォルトの名無しさん [2021/06/08(火) 18:03:14.64 ID:NOm8RE2hM.net]
5分でかけるスクリプトに仕様書やらテストやら乗っけて
おいくら万円で売りつけるサービス業者のピンチですか?

254 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 18:07:44.94 ID:3w2dwJfs0.net]
>>251
ピンチになるかどうかはまだ分からないけどそんな可能性もあると言うこと
それにそう時世が動いたとしてピンチになるかはその人次第。

255 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 18:14:42.27 ID:Yg8CMFGOM.net]
VBAやってる人は、不安なら他の本格的なプログラミング言語に手を出す前に今時のWebベースのノーコード開発を習得したほうがいいと思うよ
VBAできる程度の頭があるなら難しくはないだろうし、ヘタにスクラッチで作るより遥かにまともなものができる

256 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 18:20:22.16 ID:3w2dwJfs0.net]
恐らくこれに対応しろと言われて一番困るのはMicrosoftのOS使ってないところ。
lMicrosoftであれば.Net freamWorkでそのようなライブラリをすぐ揃えてくれるだろうけど
そうでなければオープンソースのものは誰かが作ってくれるのを待つか自分でライブラリを作るしかない。

そしてMicrosoftはそれが内部でどう作られているのか教えてくれる気は更々ない。誰かの解析待ち。

257 名前:デフォルトの名無しさん [2021/06/08(火) 18:23:16.36 ID:/pGHNa0l0.net]
DBはアズールレーンだろ
windowsはどうでもいいよ



258 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 18:34:39.97 ID:3w2dwJfs0.net]
>>255
アズールレーンがどんなDBか分からなかったから
wikiで調べたらゲームしか出てこないな
何だこれ
https://ja.m.wikipedia.org/wiki/アズールレーン

DBはOracleでもSQLSERVERでも構わないけど
問題はUI部分をどう使って行くかよ。
これを使うライブラリがないとキツいかも知れない。
まぁOSがWindowsでなければgoogle spreadsheetで代用すればいいんじゃないか?
要件を満たすことが出来ればだけど。

259 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 18:50:55.82 ID:Yg8CMFGOM.net]
Excel使うにしてもO365のWeb版Excelでいいでしょ
Windows要らん

260 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 18:58:32.10 ID:3w2dwJfs0.net]
>>257
画面制御行わないのであればね。
企業用のofficeライセンスが無いとJavaScriptが使えん

261 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 18:58:53.48 ID:AJ4OLay60.net]
今MacのVBA案件渡されて泣きそうなんだが
Windowsのが100倍良いわ

262 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 19:00:26.37 ID:3w2dwJfs0.net]
>>259
これな

263 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 21:27:43.29 ID:z4uqk83n0.net]
365ならMacでフルで使えんじゃないのか?

264 名前:デフォルトの名無しさん [2021/06/09(水) 00:46:27.31 ID:nFlUbaHj0.net]
>>261
ブラウザ版は出来損ないだ
食べられないよ

265 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 07:59:16.59 ID:N2Rw0+vQa.net]
ieの操作なんだけど複数タブ開いてて、操作するタブ指定するにはどうすればいい?1つしかWindow開いてない状態だと問題ないものが、2つタブを開いたら、elementが見つかりませんてなる。

266 名前:デフォルトの名無しさん [2021/06/09(水) 08:29:04.46 ID:n2JobU4y0.net]
>>263
なぜこのスレで聞くの?
タブは別のwindowだよ

267 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 08:30:46.71 ID:ddohEedh0.net]
>>263
んー、適当で申し訳ないけど
VBAではあんまりそういうことやらないんだけど、Javascriptで同じ名前の項目を拾おうとするとそれは項目のリストとか配列とかそんな感じのもので拾えるから
多分、その拾ったエレメントはそんな感じになってる気がする。(0)とか(1)とかつけてあげれば何か拾える気がするよ。違うかもしんないけど。
適当でごめんね。



268 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 10:21:52.46 ID:w6w52mg40.net]
【Ruby】window_handles・・・複数のウインドウハンドルを取得する
https://www.seleniumqref.com/api/ruby/window_get/Ruby_window_handles.html

Ruby, Selenium Webdriver では、

配列のdriver.window_handles を使う

# 全てのウィンドウ(タブ)ハンドルを取得
allHandles = driver.window_handles

driver.switch_to.window( allHandles[0] ) # そのタブへ移る
driver.get( ここにURL ) # そのURLを開く

269 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 10:22:07.34 ID:w6w52mg40.net]
【Ruby】window_handles・・・複数のウインドウハンドルを取得する
https://www.seleniumqref.com/api/ruby/window_get/Ruby_window_handles.html

Ruby, Selenium Webdriver では、

配列のdriver.window_handles を使う

# 全てのウィンドウ(タブ)ハンドルを取得
allHandles = driver.window_handles

driver.switch_to.window( allHandles[0] ) # そのタブへ移る
driver.get( ここにURL ) # そのURLを開く

270 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 15:40:43.61 ID:TG9fTaOq0.net]
PC Windows2021.6.8 Tue 17:00
最強のExcel使い決定戦、開幕―財務モデリングの腕を競うe-Sportsトーナメントが本日20時放送予定
マイクロソフトが贈る最新e-Sportsタイトルは「Excel」だ!
https://www.gamespark.jp/article/2021/06/08/109325.html

271 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 15:58:13.91 ID:ddohEedh0.net]
バカスw
田中さんは出ないんだ?

272 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 20:26:23.84 ID:QmGjGWRQa.net]
ぶいびーえー以前にウチの取締役やってた方が60代半ばのジジイが関数始めて興味が出たらしい。
それはいいんだけどいちいち自慢してくるのがうぜー。

273 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 20:26:54.84 ID:QmGjGWRQa.net]
方なんかいらねーよ、クソジジイだよ

274 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 20:57:54.19 ID:S3gddm5/0.net]
…突っ込んでほしいのかな。

275 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 21:02:32.60 ID:ImacXrDI0.net]
😅

276 名前:デフォルトの名無しさん [2021/06/09(水) 22:06:36.55 ID:pEB4fflid.net]
option explicit付けない選択肢もアリだと思うけどな。必要あれば宣言するだけだし
forとかで宣言するゴミ変数の宣言が軒並み排除されるのは割りと可読性良くなる
それに型の自動判断がそこそこ優秀な部類なのはVBAの特権

277 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 22:46:34.63 ID:31fiFwiN0.net]
>>267
望んでた回答と違うし、自力で解決できたけど。Seleniumて簡単そうやな。食わず嫌いせずにやってみようかな



278 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 22:50:22.93 ID:JIfRBOPeH.net]
SeleniumはVBAからでも使える

279 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 00:28:06.94 ID:qgbXGMFL0.net]
底辺で上から許可とれないのでSeleniumとかVBA本体に標準装備してください

280 名前:デフォルトの名無しさん [2021/06/10(木) 17:40:32.42 ID:O+Eef3D+M.net]
>>65ですが、社内ネットワーク上の共有フォルダに入れているのが関係してそうです。
ファイルを開くたびに「編集を有効にする〜」が出るので、それがThisWorkbook.saveと相性悪いような気がします。

281 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 18:55:35.54 ID:hpxMOKds0.net]
vba初心者すぎて躓いています。以下についてどなたか作成お願いできないでしょうか。

任意のフォルダを指定

その中でファイル名に特定の文字列(ex.請求書)を含むExcelのシート全てを一括保護(パスワードあり)

保存して閉じる

ネットで調べながら作っているのですが、上手く動かず諦めかけています。
よろしくお願いいたします。

282 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 19:09:40.41 ID:nj0j+02p0.net]
>>279
質問スレだから聞くのはいいけど丸投げで作ってくれと言うのはこのスレに限らずマナー違反。
大体「死ね」と言われるか「いくらで?」と高額吹っかけられることになる。

板自体の初心者だろうからいきなり言われて自殺されても困るし先に一応言っとくね。

283 名前:デフォルトの名無しさん [2021/06/10(木) 19:26:01.53 ID:jvMqVwBQ0.net]
>>279
死ね

284 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 19:36:37.05 ID:EkIqAHSmM.net]
>>279
> ネットで調べながら作っている
ならそのコードを晒せ

285 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 19:58:07.22 ID:hPVjNtLg0.net]
解説サイトを見ると、たまにグローバルのApplicationから呼び出すのはなく
New Applicationでインスタンス化して使用しているコードがあります。
これらの違いは何なのでしょうか。

286 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 20:25:42.93 ID:nj0j+02p0.net]
>>283
ふーん、出来るんだ。
試してないけどそのままの意味じゃないかな?
今のじゃなくて新しいEXCELのアプリケーションを開いてそっちを操作するってことだと思うけど。

試してみた?

287 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 20:57:17.43 ID:NAZXhhkQ0.net]
>>279
ファイルシステムオブジェクトでFilesを取得してForEachでFileをひとつずつ処理する



288 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 21:13:03.65 ID:BC8Qobv20.net]
>>279
動きがランサムウェアそのものだなw

289 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 21:22:22.51 ID:o9cpCdec0.net]
>>279
丁寧に教える。
初心者なら一気に作ろうとしない。

シートを保護するスクリプトをつくる。
フォルダ内のファイル名をログとかに出すスクリプトを作る
文字列から特定の文字列があったら、メッセージボックス出すスクリプトをつくる
保存するスクリプトを作る

ここまで作れば、どの様にがっちゃんこすればいいかわかるはず

290 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 22:09:01.83 ID:oO6awXFS0.net]
Ruby では、wild card を使って、
例えば「*メモ*」で、「メモ」を含むファイル名

# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/Ruby/*メモ*"

results = Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ

puts results

出力
C:/Users/Owner/Documents/Ruby/Rails インストールメモ.txt
C:/Users/Owner/Documents/Ruby/コマンドのメモ.txt

291 名前:デフォルトの名無しさん [2021/06/10(木) 22:54:22.53 ID:3kBij+1mM.net]
いつもあいつ=ruby馬鹿

292 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 23:32:18.35 ID:hPVjNtLg0.net]
>>284
試してみても普通に新しいエクセルが起動するだけですね
ただしウインドウはありません

ブックを作ってVisibleプロパティをTrueにしても表示されませんが、
一度FalseにしてからTrueにするとウインドウが表示されるというバグみたいな挙動があります

話を戻します
最近見たnew application使用例は、コントロールのイベントを無効化するのに
新しいApplicationインスタンスのEnableEventsをFalseにしていました
確かにそうしないとリッスンされるのですが何故何でしょうか

293 名前:デフォルトの名無しさん [2021/06/11(金) 08:20:17.83 ID:GsORq//4M.net]
二ノ国では日本の法律は通用しないニダ

294 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 08:35:54.94 ID:CCQcqmfl0.net]
メリケンのゲームも連邦裁判所がどうたら普通に書いてなかったか
しらんぷりしときゃええがな

295 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 10:02:48.17 ID:2HJAl0RV0.net]
>>288
何かそれだとシート全てに保護を掛けるに至れてないな。
・Excelでどうやって使うのか
・細やかなセルやシートの操作はRubyからどうやって指定する?

この辺が満たせないと役に立たないからただのオナニーだね。

296 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 14:43:04.39 ID:gasQKA4m0.net]
>>270
いるんだよな大抵ひとりはエクセルでマウントジジイ
マウントしてくるヤツの心理がよくわからん

297 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 21:05:40.69 ID:InPX9IhQ0.net]
ExcelでマウントとれないからってRubyだと・・・とか言ってくる奴もな



298 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 22:57:15.06 ID:gasQKA4m0.net]
つか爺さん世代はパソコン自体バリバリ扱える人とまるっきしダメな人の格差が激しい印象だわ

299 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 03:51:47.70 ID:wJQ4tIOMa.net]
それ若い世代も使えん奴はひどい

300 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 07:30:19.18 ID:fS2nWO8U0.net]
若い世代は今スマホしか使った事がなくてPCの使い方分からんって子もかなりいるぞ

301 名前:デフォルトの名無しさん [2021/06/12(土) 09:59:25.51 ID:ejCJQwg0M.net]
パスワード付きのファイル(複数)を一つのファイルをまとめようとして
@まとめ.cells(i.3) = パス付き.cells(i.2)
Adicitionaryを使いまとめファイルに統合
両方のやり方を試して@は出来てAが出来なかったんだけど、
パスを無視してAのやり方でやる方法ってないかな
一応、AでUserInterfaceOnly は使ってみたけどエラーが出ちゃって出来なかった

302 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 13:27:10.74 ID:fuO5ak1E0.net]
パス = path
パスワード = password

303 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 16:35:12.13 ID:u6wU9ZvJ0.net]
若いコは学校でPC使って授業受けてるイメージあるんだけどなぁ。。。
単にエクセルやワードに興味無いだけか

304 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 16:46:39.23 ID:J6ubTdkqa.net]
VBAだけでデータをWebから取得、加工、メール配信を自動化するのはどうかな?他のスクリプト言語とかも組みあわしたほうがいい?

305 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 16:57:46.63 ID:AGhhEt85H.net]
全員が完璧に暗記してたら偏差値や学歴で格差がつくはずないんだし、学校で習ったことの一部しか覚えてない方が普通ってこと

306 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 17:55:13.26 ID:WuxRFpnv0.net]
普通の公立だけど小中学校でPCの授業あったよ
学校内サイトとか社会科新聞とか書かされた

高校は大学進学だったから受験に意味のないPCなんて扱わなかったが、
大学はあらゆる申請からレポート提出まで全部PC(持ってない人は購入必須)だった
授業申請はスマホで出来なくはないだろうが、普通に使いづらい

307 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 18:05:40.26 ID:wllOIhFsa.net]
年齢関係ないんじゃね



308 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 19:26:00.94 ID:CzaChGO20.net]
うん、年齢というかもう力尽きて新しいこと覚えようとしない人はダメだろうね
若い人でも年寄りでもね

309 名前: mailto:sage [2021/06/12(土) 20:06:01.51 ID:bG62sF4n0.net]
>>306
じゃあ私は駄目な人ですね‥‥






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

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

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