25/06/18 00:07:19.87 AQxy9IeI.net
>>125
流石にwindowsPC使ってるから謹製として出てるCopilotは活用すべきだよねって流れ
部署の選抜で希望者がCopilot使ってるけどExcelCopilot別にいらんかった
ChatGPTへの信頼感が俺の中で染み着いてる
128:デフォルトの名無しさん
25/06/18 00:36:28.20 BW5TgS6t.net
>>126
Copilotはchat GDPです
129:デフォルトの名無しさん
25/06/18 08:15:48.58 I+q5MYka.net
GPTだのGTPだのGDPだの、馴染んでいないなら背伸びすんな
130:デフォルトの名無しさん
25/06/18 08:53:49.41 Dxn1KqS1.net
国内総生産だっけ
131:デフォルトの名無しさん
25/06/18 08:59:28.64 PQ7B1wFi.net
yes
132:デフォルトの名無しさん
25/06/18 21:05:53.06 BW5TgS6t.net
どれだけ頑張っても動かない、動かないって馬鹿にされるからうんざりしてきた
133:デフォルトの名無しさん
25/06/18 21:08:00.76 BW5TgS6t.net
Webスクレイピングの方法を教えてください
心底参っています
idとかclassとかで指定しているはずなのに動きません
134:デフォルトの名無しさん
25/06/18 21:44:22.43 CFwqR1eq.net
馬鹿には無理
135:デフォルトの名無しさん
25/06/18 21:48:20.21 AQxy9IeI.net
ふふふ
Copilotを馬鹿にしたけどなかなかやるやないか
家ではChatGPT、Copilotは課金出来ない
会社ではCopilot、ChatGPTは使えない
統一したいところだけど両方使うわ
Excelそのままアップロードして色々聞く方が更に効率いいわ
136:デフォルトの名無しさん
25/06/18 22:03:48.23 pjzDoD0c.net
WEBSERVICE ENCODEURL FILTERXML
いまやWebスクレイピングもVBA要らず
137:デフォルトの名無しさん
25/06/18 22:56:38.00 BW5TgS6t.net
>>135
社内のイントラネットに入力するっていうあるあるがしたいです
本当はPower Automateです
138:デフォルトの名無しさん
25/06/18 23:16:59.86 Kf62JwRL.net
>>135
動的サイトもスクレイピング可能?
139:デフォルトの名無しさん
25/06/18 23:32:21.40 BW5TgS6t.net
>>137
動的サイトってなんですか?
まさに私が今悩んでいる事な気がします
140:デフォルトの名無しさん
25/06/19 00:26:00.22 ZDBDhjrQ.net
馬鹿ほど厚かましくしつこい
141:デフォルトの名無しさん
25/06/19 00:40:34.97 ROoqywLw.net
>>137
(必要ならENCODEURLを使って)クエリ文字列を作り
URLの末尾にくっつけてWEBSERVICEすればいいのでは?
142:デフォルトの名無しさん
25/06/19 00:43:27.51 qitj2LBq.net
横だけどそもそもイントラのフォームに入力とかが本当に必要なの?
うちは225だけどイントラから特定条件でデータを落とすようなよくあるユースケースなら素直にGET,POSTすれば済むのもたくさんあるぞ
143:デフォルトの名無しさん
25/06/19 00:53:45.50 QChnVNm1.net
>>141
ローコードツール?で作られた?サイトに必要事項とファイルのドラッグアンドドロップが必要なんですか
144:デフォルトの名無しさん
25/06/19 00:59:33.98 qitj2LBq.net
>>142
その手のやつって普通API公開されてない?
そしてローコードなら作った人もユーザー側の人間だから頼めばトークン発行してくれたりしないか?
てかそもそもそのローコードで作ったページがやってること自体
突き詰めると既存の社内DBでクエリ動かしてるだけだったりしないかな?
145:デフォルトの名無しさん
25/06/19 01:16:08.33 ROoqywLw.net
HTMLソース見て<form~>~</form>の中を見ればどこに何をPOSTしてるかわかるでしょ
それと同じことをMSXML2.ServerXMLHTTPを使ってやればいい
その前にログインURLにPOSTしてセッションIDもらう必要があると思うけど
146:デフォルトの名無しさん
25/06/19 07:09:53.12 QChnVNm1.net
今の今までpublic変数やprivate変数は怖いと思って使うのを避けてきたんだけど、いい加減最終行の番号くらいならいいかなと思って油断したら、共通関数の最終行番号までpublicに代入した値を参照してしまって無事死亡。
これがグローバル変数の怖さですか。
147:デフォルトの名無しさん
25/06/19 11:48:52.46 Y5iG6yck.net
テスト中の事故でしょ? コピー作ったうえで、コピーの方で試した結果でしょ?
いい経験したし、それを結果に反映させるように作り込みを考慮すればいい
まさか、まさかな
148:デフォルトの名無しさん
25/06/19 13:03:13.43 DFOz6nBR.net
>>145
共通関数だってpublicだろうし、public変数を共通で使っても何も問題ない
使い方間違えば(=バグ)エラー起こすのは当たり前
もちろんpublicにする必要のないものは対処必要
149:デフォルトの名無しさん
25/06/19 13:12:45.28 K/Fu6xnk.net
N88の頃はiとかjのトラブルはよくあったよね
DOSだって再入不可のやついっぱいあったろ
今だとマルチスレッド非対応のライブラリは気をつけないとね
150:デフォルトの名無しさん
25/06/19 18:29:25.72 CkE44pQz.net
>>147
パブリック変数をコンストのノリで使用する事と、関数(public関数)を使う事は違う
151:デフォルトの名無しさん
25/06/19 18:34:14.95 ROoqywLw.net
FSOをグローバルにしたくなる衝動が抑えられない
152:デフォルトの名無しさん
25/06/19 19:33:40.40 QChnVNm1.net
>>150
グローバル変数にしたらダメなのですか?
今まさにグローバル変数にして、それぞれのモジュールごとに機能を分けようと考えていました。
だったらセットぐらい個別に書けばいいのですが
153:デフォルトの名無しさん
25/06/19 19:49:35.93 3HWkDcCe.net
>>150
やってみりゃわかるが、モジュールごとにいちいちオブジェクト作って終わったら開放とかやってても、大したオーバーヘッドにならんぞ
コードの見通しを良くした方がメリット大きい
154:デフォルトの名無しさん
25/06/19 19:52:14.41 UuH6bh00.net
>>150
Singletonみたいにして使ってるけど
155:デフォルトの名無しさん
25/06/19 20:13:36.51 QChnVNm1.net
Staticだったら信頼性が上がりますか?
156:デフォルトの名無しさん
25/06/19 21:04:13.73 DFOz6nBR.net
>>149
どう違うの?
どこからコンスト出てきた?
157:デフォルトの名無しさん
25/06/19 23:24:02.96 O+fabiFQ.net
>>149
お前がバカなのはわかった
158:デフォルトの名無しさん
25/06/20 02:56:57.97 yoed5JvY.net
>>155
関数は値を汚さない(書き換えない)作りにするのが基本、引数に処理を加えて右から左へ受け流すのが基本。
public変数どこからでも値の代入を受けて、値を保持する
全く違う
159:デフォルトの名無しさん
25/06/20 02:59:11.97 yoed5JvY.net
Application.DisplayAlerts = Falseしているのに、Saveで確認画面が出てくるのはなぜでしょうか?
Excelの設定に必ず確認画面を出す設定があるのでしょうか?
160:デフォルトの名無しさん
25/06/20 07:29:41.92 LSwiyXBC.net
必要に応じて publicとprivateの使い分けが出来てないのは初心者
161:デフォルトの名無しさん
25/06/20 08:29:46.45 eaqG1YUh.net
上級者はVBAなんてさっさと捨てるからな
162:デフォルトの名無しさん
25/06/20 09:09:08.54 HQ2+VBne.net
>>157
>パブリック変数をコンストのノリで使用する
>public変数どこからでも値の代入を受けて、値を保持する
お前がバカなのはわかった
163:デフォルトの名無しさん
25/06/20 09:30:18.29 gc/RcLN0.net
このスレを見てる時点で捨ててないかマウント取りに来てるだけか
どっちにしても人生負け組
164:デフォルトの名無しさん
25/06/20 09:41:59.47 r8vuXojP.net
まあマウント取りたくて取れる相手を探しに来てるなら器がちっちゃいわな
165:デフォルトの名無しさん
25/06/20 10:04:21.23 izQX0zhk.net
なにぃ~ 5ちゃんに器の大きい人間なんかいたら希少だろー
166:デフォルトの名無しさん
25/06/20 10:15:50.81 bGFhNefV.net
>>158
出るのと消えるのがある
こべつに他の設定でけせるのもある
何を消したいかを検索してみ
167:デフォルトの名無しさん
25/06/20 14:31:29.46 Y6uQQV89.net
>>162
マウント取れなくて悔しい
がよくわかる定期w
168:デフォルトの名無しさん
25/06/20 16:26:33.16 q7FcQ3E6.net
え?>>166みたいに読み取る人ってかなりの少数でしょ
国語の成績悪かった子だと思うよ
169:デフォルトの名無しさん
25/06/20 17:04:06.71 HQ2+VBne.net
>>167
えっ!?
ついでにブーメランまでぶっ刺さってんじゃん
バカはジタバタしてもバカから一生逃れられないからw
170:デフォルトの名無しさん
25/06/20 19:16:20.77 yoed5JvY.net
VBAのツール作成を指示されました。
VBAで自動化したい事は明確です。
今回、VBAで自動化したい事のミソ、機関部分、エンジン自体は完成しています。
しかし、ソースファイルに新しい情報を記入するにもかかわらず、上書き保存はしないと言われます。
私はまるで意味がわからないのですが、これは私の頭が悪いのでしょうか?
171:デフォルトの名無しさん
25/06/20 19:19:34.53 sV38LovV.net
>>169
上書き保存しないなら、名前を付けて保存すれば良いではないか
172:デフォルトの名無しさん
25/06/20 19:24:19.55 yoed5JvY.net
私はExcelのブックをReadonly:=Trueでしか開かないし、当然、「上書き保存」なんかするわけがないのに、です。
173:デフォルトの名無しさん
25/06/20 19:30:29.79 SS2ziZwY.net
中規模以上の企業だと障害者を何人か雇う必要があるのよ
新しい仕事を大変なわけよ
174:デフォルトの名無しさん
25/06/20 20:10:04.06 s6iEsyPY.net
>>169
入力したデータだけ別ファイルに切り出してリレーションするとか?
175:デフォルトの名無しさん
25/06/20 20:10:34.24 Tkymh4/E.net
ID:yoed5JvY
本日の馬鹿
176:デフォルトの名無しさん
25/06/20 20:26:20.59 yoed5JvY.net
>>170
では上書きしないのなら、新しい情報をソースファイルに記入するときはどうするのでしょうか?
177:デフォルトの名無しさん
25/06/20 20:32:19.33 yoed5JvY.net
普通、If文を書くときは、
If 〜 = 〜 Then
〜 = Format(
178:〜,"") Else 〜 = 他の処理 End If と書くと思いますが、 〜 = 処理 If 〜 = 〜 Then 〜 = Format(〜,""h End If と書くのは可読性が低いでしょうか?
179:デフォルトの名無しさん
25/06/20 20:45:33.55 s6iEsyPY.net
>>175
相手の意図も知らないのにこちらに聞かれてもわからないでしょ。
何で相手に確認しないの?
180:デフォルトの名無しさん
25/06/20 20:55:30.36 3oNRkMSd.net
>>176
可読性が低くなるうえ、else側の処理をIfの前に書くと必ず実行することになって無駄
181:デフォルトの名無しさん
25/06/20 21:00:27.73 s6iEsyPY.net
極力else使わない派です。。。
182:デフォルトの名無しさん
25/06/20 21:22:13.93 sV38LovV.net
>>175
上書きしないで別ファイル名で保存して、元のファイルを残しておく
今度からは新しい方を使ってね、新ファイル名「xxxx_ver2.xlsm」
183:デフォルトの名無しさん
25/06/20 21:22:17.00 yoed5JvY.net
>>179
Elseを使わないノウハウとても気になります。
条件が必ず一つの方が可読性も高そうですね。
184:デフォルトの名無しさん
25/06/20 21:24:35.36 Tkymh4/E.net
ID:yoed5JvY
本日の馬鹿
185:デフォルトの名無しさん
25/06/20 21:32:19.27 HQ2+VBne.net
馬鹿すぎて収束しないので放置、NG推奨
186:デフォルトの名無しさん
25/06/20 21:43:45.62 GTdUEOjB.net
>>180
URLリンク(pbs.twimg.com)
187:デフォルトの名無しさん
25/06/20 21:50:27.39 sV38LovV.net
新人研修終わったばかりの新人かな?
既存のファイル消しちゃいました~ ってことになったら悲惨だぞw
188:デフォルトの名無しさん
25/06/20 21:50:46.76 EB90632S.net
ソースファイルに新しい情報を記入???
VBAでVBAソースの書き換えなんてできるんだっけ?
189:デフォルトの名無しさん
25/06/20 21:59:38.37 sV38LovV.net
>>184
わかるwww
190:デフォルトの名無しさん
25/06/21 08:13:33.35 xnN29f9y.net
> VBAで自動化したい事は明確です。
それが何なのか、概略だけでもいいからその点を説明してくれれば、何故上書き保存しないのかの理由が判明するかも
191:デフォルトの名無しさん
25/06/21 08:47:05.05 GbO1k/NC.net
Option Private Module
を使用すると不具合は起きますか?
192:デフォルトの名無しさん
25/06/21 08:56:36.24 GbO1k/NC.net
ブックを不必要に上書きしないという事は分かりきっていますし、私もVBAでブックを開く時は
ReadOnly:=True
としか書いていません。
193:デフォルトの名無しさん
25/06/21 13:41:14.95 iA3bwhzi.net
>>189
使い方を知らない機能なら使わないほうがいいだろう
194:デフォルトの名無しさん
25/06/21 15:35:50.74 G6SvAclG.net
ID:GbO1k/NC
本日の馬鹿
195:デフォルトの名無しさん
25/06/21 20:05:22.34 GbO1k/NC.net
標準モジュールを知ってからは、ずっと標準モジュールにコードを書いていたけど、もしかして特定のシートの内容を更新するだけのプロシージャなら、そのシートモジュールに書いて、パブリックで呼び出すなり、単独で完結させるのがいいのでは。
196:デフォルトの名無しさん
25/06/21 20:11:34.06 /aN2bQtG.net
シートにコードを書くとMeでWorksheetにアクセスできるしな
197:デフォルトの名無しさん
25/06/21 20:40:04.26 zdpjAWls.net
Copilot悪くないなと思って家でChatGPT使ってみるとやっぱりこっちのがVBAに関しては遥かに格上だわ
作ってくれるものが違いすぎる
使いまくってるからこそ明確に違う
Copilotの方が堂々と使えると思ってたのに悲しい
198:デフォルトの名無しさん
25/06/21 21:15:57.84 Pivyh754.net
>>193
他に使いまわしが出来そうなら標準にしてる 。
使えなさそうならシートに書いてる
199:デフォルトの名無しさん
25/06/21 21:38:06.55 pQFMDB6w.net
絶対に標準モジュールに作った方がいい
シートなんてユーザーツールの表示非表示や特定の挙動くらいしか書かない
シートにあれこれ書くのはメンテナンス性も考えると絶望的に人としてセンスがないと断言できる(ドヤアッ
200:デフォルトの名無しさん
25/06/21 21:46:00.83 ntnP1SjV.net
どうなんだろね
シートモジュールはクラス(のインスタンス)のようなものだと思っていて、そこで完結・隠蔽できるなら、メンバ変数みたいに書いてもいいのかも
201:デフォルトの名無しさん
25/06/21 21:46:58.70 ntnP1SjV.net
メンバ変数に限定せず、メソッドも
202:デフォルトの名無しさん
25/06/21 22:03:56.91 /aN2bQtG.net
Range読み書き、シート固有の処理、シートに置いたボタンのクリック処理はシートだな
203:198
25/06/21 23:22:42.53 0pc0VOCQ.net
>>196 のような感じかなぁ
正直なところ、大規模なツールにならなければ厳密に考えないかなぁ
204:デフォルトの名無しさん
25/06/21 23:55:37.27 AzvejTaO.net
シートにコード書いてうっかりシート消しちゃった俺が通りますよ、っと
205:198
25/06/22 00:03:54.38 eJ/mtVfh.net
共通不要のものだったと観念すべし
あらたに書き直した時の方がよりよいものができるので、悪いことではないよ
206:デフォルトの名無しさん
25/06/22 00:45:47.89 dorlFOp8.net
そのシート用のコードは一緒に消えるべき
207:デフォルトの名無しさん
25/06/22 01:57:40.21 qX3IUG6k.net
シートをコピーするとコードもコピーされるのは当たり前のことだが
1日~31日の各シートがあってそれぞれに同じようなコードが付属しているの見て愕然とした思い出
208:デフォルトの名無しさん
25/06/22 06:45:49.76 ea/8LIl6.net
Copilotは「会話しながら考えを整理したり、複数の目的をサポートする」コンパニオンとして設計されているため、必ずしも最短でコードを出すことだけを目的としていない場合があります。VBAコードを生成する場合でも、「どう使いたいのか」「何をしたいのか」といった文脈を対話しながら深掘りするスタイルです。
本当かなぁ。
でも確かにGeminiとかは質問を掘り下げてくれる。
209:デフォルトの名無しさん
25/06/22 06:52:56.85 ea/8LIl6.net
特にこだわる必要はないか、あるいはシート別に標準モジュールを追加して、そこにシート完結、単独処理のコードを書く、という感じでしょうか。
210:デフォルトの名無しさん
25/06/22 07:36:42.56 ea/8LIl6.net
クラスモジュールのイニシャライズイベントに引数は使用できないけど、シートやセルの値は使えるから、ConstやEnumとまではいかなくてもとても便利ですね
211:デフォルトの名無しさん
25/06/22 09:29:39.07 dorlFOp8.net
>>207
何のために「わざわざそうする」のか理由が必要
212:デフォルトの名無しさん
25/06/22 12:46:56.16 iBq+8EF4.net
>>208
クラス内に直接シート名とかセルの値を入れてるの?
あとでシート名変わったりとかしたら面倒くさくならない?
213:デフォルトの名無しさん
25/06/22 12:57:33.20 qX3IUG6k.net
つられんぞ
214:デフォルトの名無しさん
25/06/22 13:57:00.30 +ISvpo1N.net
ID:ea/8LIl6
本日の馬鹿
相手にするのも馬鹿
215:デフォルトの名無しさん
25/06/22 16:10:26.36 ea/8LIl6.net
>>210
シートはコードネームで指定しています。
URLリンク(learn.microsoft.com)
216:デフォルトの名無しさん
25/06/22 16:15:42.86 ea/8LIl6.net
>>205
その様な場合でも、例えばそのシートが日報だっとして、入力する内容に規則性があるのならそれはそれで意味がある気がしますし、そうでないならシートのコピーではなくて、シートを追加するコードでいいのではと思います。
217:デフォルトの名無しさん
25/06/22 16:30:28.75 dorlFOp8.net
>>205
別に普通ですよ
同じょうな、なのか全く同じなのかは少し気になる程度ですが
共通処理で別出ししてもそこで吸収できない変更は結局各シート変更要
1日のシートを2日以降にコピーする処理はあった方がいいだろう
ならば共通処理の別出しは宗教の違い程度のこと
(月初処理があるとしても、月末処理と同じように共通化すればいい)
218:デフォルトの名無しさん
25/06/22 18:13:47.25 ea/8LIl6.net
ファイルを開く前に一次作業用フォルダにファイルをコピーしてから開くなんて全く気が付かなかったよ
219:デフォルトの名無しさん
25/06/22 20:04:06.76 qX3IUG6k.net
∩___∩ |
| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
220:デフォルトの名無しさん
25/06/22 20:18:45.86 OtmHPGNq.net
ID:ea/8LIl6
本日の馬鹿
相手にするのも馬鹿
221:デフォルトの名無しさん
25/06/23 22:05:25.81 3YQNLfcG.net
同じブック、同じシートなのに、PDFで出力すると、人によっては改ページの下に一行増えて(?)空白のページを挟んで出力されます。
なぜでしょうか?
プランターをWindowsのPDFのプリンターにすればいいのでしょうか?
222:デフォルトの名無しさん
25/06/23 22:11:17.82 Nt0QtUVK.net
PCによってモニタサイズによってOSバージョンによってメーカーによって
Excelの印刷範囲は異なりVBAで制御しようとするもんじゃない
どうしようもなく色々なパターンがあって無理
俺が最近体感したこと
223:デフォルトの名無しさん
25/06/23 22:59:56.85 3YQNLfcG.net
>>220
そうなんですね
224:デフォルトの名無しさん
25/06/24 09:46:14.05 17zM306D.net
フォント替えるだけで死ねる
225:デフォルトの名無しさん
25/06/24 12:43:50.14 n0EsgZjg.net
まさか本当にどのプリンターを使用しているのか?で改ページが変わるとは思いませんでした。
A4はえーよんじゃなかったのでしょうか?
226:デフォルトの名無しさん
25/06/24 13:38:19.20 17zM306D.net
わりとマジレスするとどんなexcelシートもpdfファイルに印刷(出力)して
それを改めてpdfをプリンタで印刷する習慣にすると
環境依存性下げて揃えられる気はしてる
227:デフォルトの名無しさん
25/06/24 15:34:57.09 r1pLwix4.net
全シートの連続表裏印刷もそうだっけ
228:デフォルトの名無しさん
25/06/24 17:26:03.83 PRrta3wT.net
プリンタの仕様だから仕方無いのもある
某XEROX社の安い方の複合機だと印刷可能範囲の上端だったか下端だったか7mmとかいうのもある
だから上の方で全周7mmで設定しとけばかなりクリアする可能性があがる、と書いた
しかし、そんなに1ページにみっちみちに詰め込まなきゃならない書類って、逆に効率悪いような
229:デフォルトの名無しさん
25/06/24 18:05:26.27 n0EsgZjg.net
>>224
私も思い知らされました。
まずはwin標準の仮装プリンターに出力ですね
230:デフォルトの名無しさん
25/06/24 18:12:16.30 CEept5wW.net
欽ちゃんかよ
231:デフォルトの名無しさん
25/06/24 18:21:11.10 KEAdRoBs.net
>>226
> しかし、そんなに1ページにみっちみちに詰め込まなきゃならない書類って、逆に効率悪いような
その発言は業務システムに関わる多くの真面目な日本猿達の存在意義を否定している
謝罪しなさい
232:デフォルトの名無しさん
25/06/24 18:24:41.47 CEept5wW.net
>>226
んなもん用途次第だろうが
1枚であることに意味のある資料だってある
233:デフォルトの名無しさん
25/06/24 18:26:55.76 sjc0o4g2.net
さっそく否定された人が現れて草
234:デフォルトの名無しさん
25/06/24 19:01:03.16 9f5lnV/o.net
ワードを使えば改ページで改ページしてくれるよ
235:デフォルトの名無しさん
25/06/24 19:16:55.70 n0EsgZjg.net
>>228
みんなMicrosoft Print to PDFを使って合格かな?
236:デフォルトの名無しさん
25/06/24 19:38:00.37 n0EsgZjg.net
シートを完全に隠す、プロジェクトを隠す(?)気持ちが本当によく分かった。
そもそも設定や値を触らなければ壊れないから。
ただ、別ブックから値を読み込むとなると、Worksheet.CodeName プロパティが使えないのが嫌だなぁと思う。
237:デフォルトの名無しさん
25/06/25 09:42:40.32 dAAz2sjl.net
いやさ、一枚に収めなさい、って上から言われたのやら自ら率先して「俺なら一枚に収められるッ!」と
奮起してるのかわからんけど、効率化を図るための道具でムダな苦労して余計な時間を費やしてどうすんだ、と
なにをっ?と疑問に思うことは無いんか? うるさい上司向けにはB4で作ってA4へ縮小印刷しろと応じて
じぶんの指示が理不尽なことに気付かせる気概ってもんは無いのか、と
社内で保管するための資料とかかも知らんが、どーせそれを見返すのは十年後にあるかないかレベルなんだろ?
隅々まで文字やデータで埋め尽くされた一枚と、見やすい二枚 十年後の部下が感心するのはどっちなんだ?
まあ、そんなつまらんことに拘ってる職場が、十年後にも存在するかどうかの方が気に成るが
238:デフォルトの名無しさん
25/06/25 10:25:19.18 UBgfv4fR.net
シートを1ページに収めるで印刷すればいいじゃん
少しは縮小率や余白量が変わるかもしれないけど、どうせ気が付かねぇよ
239:デフォルトの名無しさん
25/06/25 10:55:49.89 0adLFZoS.net
いやいや、フォーマットに仕事生命を懸けてる奴はどこの職場にもいるもので、彼らは驚くべき観察力で僅かな変化を発見し指摘してくる
ビジネス的には明らかに無意味で周囲にとってはむしろ有害ですらあるが、
いわゆるブルシットジョブと違って本人はそれを有意義と信じて疑わない点が異なり、むしろタチが悪い
ネット上での正義中毒による誹謗中傷と同じ構造を持っており、日本の終身雇用制度と相まって非常に根深い問題なのです
240:デフォルトの名無しさん
25/06/25 11:26:50.75 dAAz2sjl.net
失われた40年の根源みたいな奴だと、もっと上に指摘してそいつを追放しろ
A4用紙と人件費とどっちに重きを置いてンだっつーの
A4一枚1円未満だろ おまえらの単価はそれより安いと言われてるようなもの
じぶんで告げ口するのが怖かったらZ世代にやらせろ あいつら怖いモン知らずだから
つか、Zなら他人から言われずとも自ら言いそうか
241:デフォルトの名無しさん
25/06/25 12:39:04.86 KtEcq9H9.net
内心では自分に価値がないと思っている人ほど他人の時間を奪うことを過剰に恐れる
他人の数秒のために自分や部下の数時間をドブに捨てることを厭わない
フォーマットに固執することで目を背けているが、実は彼らは心の一番深いところでは自分が無価値であることを理解しているのだ
そう考えれば君も彼らに対して少しは寛容になれるだろう
242:デフォルトの名無しさん
25/06/25 13:16:16.31 ShvH3cc3.net
このスレってスレ違いの話になると生き生きして他人に説教し出す奴いるよな
拘ってるかどうかなんて元の質問から読み取れないはずなのに想像であれこれ語る
マンスプレイニングみたいなもんかね
243:デフォルトの名無しさん
25/06/25 14:19:49.61 dAAz2sjl.net
言いたいことは判らんでも無いが、一行目と二行目でもはや矛盾の域をはるかに超越してる
そして、妄想だと言い切る君 この商売にとって想像力ほど重要なものは無いのも事実
一を聞いて三を知る 要求する側が言葉や文字にしてない部分までちゃんと捉える能力もだいじ
「言われた事だけやりました」は、これっぽっちもカスタマーの要望を満たしていない事実を知らないと
例えば家を建てようという時、顧客は各部屋各所各設備デザイン材質色調えtc全部把握なんかしてない
事前サンプルがあっても常に同じでも無い 建てる方は一を聞いて十を知るぐらいの熟練度が求められる
そうでないと引き渡し後「こんなはずじゃ、、」とひと悶着の元を作る仕事をしてるだけに成り果てる
幸いそこまで高額な仕事を請け負ってる様子でも無いが、それはそれで次は頼まれない に繋がるだけ
「使えない奴」烙印捺されて除け者にされる 上を目指すなら邪魔な奴等はむしろ積極的に排除してかないと
上から「よく指摘してくれた」と、功績をZに盗られてこんどはそのZに顎でコキ使われる羽目に陥る
244:デフォルトの名無しさん
25/06/25 14:37:28.50 SG2L+6I2.net
年収低い奴は無駄なコードを長々と書く
応用性なくがあまり感謝されないから出世もせず年収も低い
loop
245:デフォルトの名無しさん
25/06/25 15:04:19.03 NJkCtRzJ.net
な?
>>241なんて生き生きしてるだろ?
スレタイ読んだ上でこれ
このスレに書くより先にやるべきことがいくらでもあるだろw
246:デフォルトの名無しさん
25/06/25 19:22:57.79 ewEuQKq0.net
もう1ミリもスレと関係ない話。
語るならリアルで語ればいいのに。
他所の仕事のやり方なんてどうでもよくない?
247:デフォルトの名無しさん
25/06/25 19:59:58.21 0+WqyKmk.net
>>237
😰
248:デフォルトの名無しさん
25/06/25 20:01:19.80 0+WqyKmk.net
あらかじめ仮想プリンターで調整しておくのが無難なのですね
249:デフォルトの名無しさん
25/06/26 05:57:38.60 YNappLwR.net
Power Automate Desktopのブラウザ操作ですが、要素の選択、クリックは、spanやaの様な最下層よりその上の部分クリックの方がいいでしょうか?
250:デフォルトの名無しさん
25/06/26 06:07:54.20 Xqu0aFx/.net
>>247
馬鹿は死ね
251:デフォルトの名無しさん
25/06/26 07:39:27.79 ibHy7HYF.net
>>248
ハゲないで
252:デフォルトの名無しさん
25/06/26 08:34:27.18 TtUYsrfQ.net
下から上にはイベントが伝搬するけど、上から下にはしなくね?
Excel関係なくね?
253:デフォルトの名無しさん
25/06/26 09:03:49.51 zNLvgnZA.net
上か下かではなく、特定しやすく変化しにくそうな要素を狙うのがスクレイピングの基本
一般的には、idが付いている要素が最優先、次点で特徴的なclass
こんな教科書的な答えはAIに聞いた方が早いし丁寧な回答貰えるよ
254:デフォルトの名無しさん
25/06/26 09:07:17.62 JeZUwFBH.net
>>247
スレタイを声に出して3回読んで、
その後何を思ったか書き込んでみて
255:デフォルトの名無しさん
25/06/26 10:15:53.01 ctCA7frU.net
どうやって無能上司を追い出すかの方がみんな興味も需要もあってスレに合ってるんじゃね
256:デフォルトの名無しさん
25/06/26 11:06:57.56 2t9X8EDi.net
>>253
そういうスレを然るべき板に立ててきてくれよ
257:デフォルトの名無しさん
25/06/26 12:21:33.40 Wq1YkDfN.net
次の選挙でわかる
258:デフォルトの名無しさん
25/06/26 12:54:13.79 /pIBx/RP.net
以前から報じられていたけど、シートに配置したActiveXコントロールが既定で機能しなくなったね
259:デフォルトの名無しさん
25/06/26 13:54:18.86 /pIBx/RP.net
バージョンによるけど
260:デフォルトの名無しさん
25/06/26 23:09:29.85 YNappLwR.net
沢山の回答、本当にありがとうございます🐜
大量の業務を指示されるにも関わらず、肝心のやり方は誰も何にも教えてくれないので困っていました。
261:デフォルトの名無しさん
25/06/26 23:27:04.86 IUW/I0xf.net
自分が出来ますって嘘ついて入社したからでしょ?
262:デフォルトの名無しさん
25/06/27 00:06:22.99 CrrZSRDf.net
>>258
死ねよ
263:デフォルトの名無しさん
25/06/27 01:32:00.89 wO5i3kHK.net
フォーマットに固執する人には一度Accessのレポートを触らせてデータ本体と閲覧用のフォーマットを分離する概念を身に着けさせたいな
Excelはそこら辺をごっちゃに出来るのが強みでもあり欠点でもあるよね
264:デフォルトの名無しさん
25/06/27 04:12:57.30 VhPWe6GM.net
まだ印刷してる会社があるのか。
VBAをAIに相談しながら作ってたらどんどん破壊された。
VBAのバージョン管理ってどうやってますかお前ら。前のに戻す機能ってありますか?orz
265:デフォルトの名無しさん
25/06/27 04:31:43.59 NUAImJKB.net
>>260
ハゲるな🦲
266:デフォルトの名無しさん
25/06/27 05:10:19.38 Xt6WxpXP.net
>>262
どんどん破壊される要素ありますか?
267:デフォルトの名無しさん
25/06/27 05:11:58.20 Xt6WxpXP.net
>>259
言ってないです
HTMLは一切知らないです
一言も喋っていない
せいぜいタグがあって、直書きするくらいですね
動的なサイトとか言われたらアウトです
268:デフォルトの名無しさん
25/06/27 05:34:45.13 Xt6WxpXP.net
>>251
私は本当に全くの無知だからAIに聞くこともできなければ回答の正誤の判断もできないんです
例えばXpathが出てきますが、PADでどうやれば使えるのか知りません。
IDも動的なのであまり使えなさそうな
269:デフォルトの名無しさん
25/06/27 06:13:21.76 h5r1gWAT.net
>>265
スレチって言われてるのに居続けるあたり、
無能な上人の話聞かないのがよく分かる
270:デフォルトの名無しさん
25/06/27 06:15:32.61 h5r1gWAT.net
>>262
そりゃあるよ
常に電子機器を前にできる仕事だけじゃない
271:デフォルトの名無しさん
25/06/27 06:32:19.98 Xt6WxpXP.net
>>267
私は人の要望しか聞いていないです
自分がこうしたいと言う話はしていない
272:デフォルトの名無しさん
25/06/27 06:42:55.07 /UgvnTX2.net
>>269
死ねよ
273:デフォルトの名無しさん
25/06/27 08:31:17.40 qG+K/EXj.net
わたしたちもあなたの不平不満愚痴ボヤキを読んでるだけで
解決策を提示できる・答えを知ってるとはひとことも言ってませんが悪しからず
274:デフォルトの名無しさん
25/06/27 08:31:36.13 Jv1SL4G2.net
無知を全面に出す人苦手
だから何? 君の親でもないけどって内心モヤッとしてる
スレチですまん
275:デフォルトの名無しさん
25/06/27 09:13:02.10 H+pgJuGy.net
最近はここに質問された内容をAIに聴いて
AIの返事をまたここにpostする行為が流行ってる
276:デフォルトの名無しさん
25/06/27 09:46:35.02 zT4r2O1m.net
そのAIの解答を評価してみりゃいいんでね?
277:デフォルトの名無しさん
25/06/27 10:25:38.18 w4/N1gL5.net
>>269
私も人の要望をよく聞きます
聞くだけなので答えませんがね
278:デフォルトの名無しさん
25/06/27 10:28:46.75 xoohJecr.net
AIと喧嘩したいんだけど
許可されたら死んでしまうかもしれないからここで加減を調節している段階にいるんだけど
279:デフォルトの名無しさん
25/06/27 10:45:24.90 cNRA8cKF.net
>>273
マトモな回答だとつまんないからズレた面白いAI回答を選んで貼ってください
280:デフォルトの名無しさん
25/06/27 12:38:13.98 Jv1SL4G2.net
>>277
ChatGPTに大喜利を考えてもらってみた。
なんか微妙
【大喜利 お題】「エクセルがついに自我を持った!さて、最初に言ったひと言とは?」
【回答】
Sub ExcelNoJiga()
MsgBox "ねぇ、また無駄な関数使ってるよね?"
End Sub
281:デフォルトの名無しさん
25/06/27 17:23:06.62 o1sxBVxM.net
chatGPTでもcopilotでもいいけどまともなコードが返ってこないなら自分のブロンプトが絶望的なのを認識したほうがいい
そう言い切っていいほど精度高いわ
282:デフォルトの名無しさん
25/06/27 18:10:56.90 hBRiuDb/.net
検索したら出てくるレベルの質問なら確実に答えてくれるが、どこにも例題がないやつは嘘しか言わない
結局はGoogle代行でしかない
283:デフォルトの名無しさん
25/06/27 18:55:03.45 O2xo65Fk.net
かつて誰も考えなかったすごい質問する俺様にAIはついてこれない
マッタク使えないZE
284:デフォルトの名無しさん
25/06/27 20:46:54.00 Jv1SL4G2.net
例えばどんなこと?
285:デフォルトの名無しさん
25/06/27 21:38:05.72 1l5DAmC+.net
>>280
おい言ってみろよ
それっぽいこと適当に言ってると低年収バレバレで失禁するぞ?
286:デフォルトの名無しさん
25/06/28 10:20:06.70 2ZQiHrFF.net
逃げたな
287:デフォルトの名無しさん
25/06/28 10:56:57.35 3Um/1PXm.net
>>280
ほんそれ
回答の末尾にしらんけど付けてくれ
知らないなら答えないで下さいうざいだけです
288:デフォルトの名無しさん
25/06/28 15:34:30.03 OhpHj5Et.net
会話の終わりに知らんがななんか付けたら関西人に成ってしまうだろ
そう言えば、関西系のシステムって見たことも触ったことも無いけど
やっぱあれかな? [はい][いいえ]ボタンなんか配置したら「何東京人ぶってんねん!」とか
罵られるから[そうでおま][ちゃいまんねん]とかなのかな? キャンセルは[やめときますb偰とか
いっぺん見てみたい
289:デフォルトの名無しさん
25/06/28 16:39:30.47 IggLVQ8p.net
VBAスレ史上でもワースト3に入るつまらなさ
290:デフォルトの名無しさん
25/06/28 17:20:22.34 uA5FL7Cc.net
>>286
昔々IT企業の同期のコンピューターに疎いやつ(文系)が言ってたことに似てる
プログラムの命令って何でIFとかなん
JKの日本語で「もし~"だったら~"xxする」("ら~"と伸ばすのまでが語w)とか書ければいいのにとw
バカにしたけどまあ文系の素朴な疑問なんやろなとは思った
日本語BASICとかがこの命令体系だったら、一部のマニアに流行ったのかもしれんなと思ったり
ちなみに大阪にある有名企業(の開発現場)で「もし」とかプログラム書いてたとこは存在した。そこで仕事したことある
今そう書いてるかは不明
291:デフォルトの名無しさん
25/06/28 18:58:07.89 vnGwMlU1.net
日本語のようなハイコンテキスト言語はプログラミング言語に向かない
292:デフォルトの名無しさん
25/06/28 19:31:48.97 LhFbdsON.net
形式言語としてのプログラミング言語の記号列に用いる記号をどのような記号集合から取ってくるかというだけの話で、ASCIIが便利だったってだけだと思うけど。
だから、自然言語としての日本語・英語の性質はあんまり関係ないと思う。構文論・意味論は個々のプログラミング言語で定義されるわけだし。仮に「もし~だったら」みたいに書けたとしても、期待に反して大して書きやすくはならないはず。
293:デフォルトの名無しさん
25/06/28 19:52:26.97 2qq3obCO.net
なでしこ言語(泣)
294:デフォルトの名無しさん
25/06/28 20:13:15.90 Me3Cyfy2.net
もしも あしたが晴れならばの歌詞は色々と論理が破綻してる
295:デフォルトの名無しさん
25/06/28 20:35:26.86 uZ2SW2TW.net
財源が無いはずなのに消費税で上振れしている税収の財源があるのも論理破綻している
296:デフォルトの名無しさん
25/06/28 20:44:32.94 uA5FL7Cc.net
>>290
その通り
普通にIF書いてたプログラマーからしたら全然書きやすくはない
しかし当時プログラマーなんて少ない時代に、わかりやすく書ける、読めることはメリットあった
例えば東京特許許可局という変数があったとき、これを英字にしたら読みやすさが激減する
苦肉の策な時代でした
(省略英字の日本語辞書を使って、ソースを読みやすくする現場もあった。SYH-ZEIを消費税とするような)
297:デフォルトの名無しさん
25/06/28 20:45:50.18 nr2U5Q2u.net
俺は変数の宣言は日本語にしてる
ひらがな、カタカナ、漢字
それでトラブったことがないの
298:デフォルトの名無しさん
25/06/28 21:46:41.03 IE4mXjww.net
だが日本語変換の切替えがだるい
299:デフォルトの名無しさん
25/06/28 22:01:41.58 uA5FL7Cc.net
>>296
変換をon、無変換をoffにしておくと楽
300:デフォルトの名無しさん
25/06/28 22:05:51.33 sSoEJ15o.net
一応こんなのはある
C++言語によるお嬢様コーディングがブームの兆し!?
URLリンク(forest.watch.impress.co.jp)
301:デフォルトの名無しさん
25/06/29 02:34:13.89 712DhJe3.net
こんなのも
URLリンク(eetimes.itmedia.co.jp)
302:デフォルトの名無しさん
25/06/29 08:26:19.87 MOD8edIy.net
改ページの点線を手動で移動させて1ページに収まる様に指定するのと(実はこれが自動改ページ)
横1ページ指定するのと(全列を1ページに収まる様に指定)
印刷した時の文字の大きさに差はありますか?
303:デフォルトの名無しさん
25/06/29 12:48:03.11 9LXkiqZz.net
シート上で指定した改ページはデータをページで区切るための指定
プリンター設定で拡大縮小できるし、紙が数ミリずれることもあるのでギリギリを狙うと失敗する
304:デフォルトの名無しさん
25/06/29 17:00:44.93 MOD8edIy.net
>>301
プリンターの設定で必ずこの行から2ページ目にする
という設定ができるのでしょうか?
とりあえず今日調べてなんとなく挙動がわかった様な気がします
考えれば当たり前の話ですが、行を追加すると余分なページが挟まれる可能性があるのと、空白だけど(何かしら書式設定された痕跡があるからか)印刷対象になってしまっている行を削除しないといけない
305:デフォルトの名無しさん
25/06/29 18:14:38.13 jfS/ezr/.net
印刷画面で1ページだけを5枚印刷とか
3,5~7ページだけを印刷とか指定できるので好きなページだけ印刷すればいいんじゃね
306:デフォルトの名無しさん
25/06/29 18:29:48.73 jfS/ezr/.net
印刷すること自体をマクロでやったこと無いが
プレビューを確認してよければ印刷するくらいにしないと
インクや紙が無駄になるぞ
1万件のデータ印刷したら100ページとかw
307:デフォルトの名無しさん
25/06/29 18:43:03.87 MOD8edIy.net
マクロから直接印刷はさすがにしてないです
pdf出力するのをしています
ちなみにどうしても縮尺指定にこだわりたい人の為に、縮尺指定→印刷プレビュー→印刷プレビュー閉じる→左右のページ数確認→ループのコードを書きました。
308:デフォルトの名無しさん
25/06/30 06:28:01.78 m9Iz5ero.net
Excelの知識がなさすぎるひと向けに作るのはやめた方がいい
309:デフォルトの名無しさん
25/06/30 11:45:51.43 jH/JIj4s.
310:net
311:デフォルトの名無しさん
25/06/30 11:49:50.48 JQmVBSaF.net
このスレで言うことか?
312:デフォルトの名無しさん
25/06/30 18:11:33.26 CUdrd9La.net
印刷やろうとしてる人に向けてだろ…
でも明らかにセンスも作り込みスキルもなさそうだから同意
313:デフォルトの名無しさん
25/06/30 20:01:12.87 9Mnf4Vk7.net
>>309
センスも作り込みスキルも無さそうでしょうか?
314:デフォルトの名無しさん
25/06/30 20:48:43.72 XO4EHMtF.net
>>310
ごめん、そんなことはないけど
印刷のVBA化に無理に固執するもんじゃない
マジで
昔経験したからわかる
315:デフォルトの名無しさん
25/06/30 20:54:02.73 9Mnf4Vk7.net
>>311
ありがとうございます
vbaで直接プリンターに飛ばすわけではありません
とりあえず改ページの仕様はいくらか理解できたと思います
316:デフォルトの名無しさん
25/07/01 00:25:06.97 AnMu1HLz.net
Chatさんに聞いてみたけど面倒くさそう。
' 例:20行目の上に改ページ(21行目から新しいページ)
余白2cm
Sub 印刷設定サンプル()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
.ResetAllPageBreaks
.HPageBreaks.Add Before:=.Rows(21)
With .PageSetup
.PrintTitleRows = "$1:$3"
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
.Orientation = xlPortrait
.PaperSize = xlPaperA4
.LeftMargin = Application.CentimetersToPoints(2)
.RightMargin = Application.CentimetersToPoints(2)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.CenterHorizontally = True
End With
End With
MsgBox "印刷設定を適用しました。"
End Sub
317:デフォルトの名無しさん
25/07/01 00:32:33.67 AnMu1HLz.net
続き。こういうのも多分いるよね。
指定した行数がA4印刷1ページに収まるかを調べ収まらない場合は改ページを設定する
各行の高さを合計して、ページ内に収まるかを判定。A4の印刷可能範囲の高さ(ポイント単位)と比較。オーバーするならその直前に 改ページを入れる。 A4用紙の印刷可能な高さ(おおよそ)
A4縦の高さ:29.7 cm = 約842 pt
上下余白(例):2cm + 2cm ≒ 113 pt(計)
⇒ 実質印刷可能範囲:約729 pt
※余白・ヘッダー・フッターにより変動
コード例
Sub 自動改ページ_行数と印刷高さを基準に()
Dim ws As Worksheet
Dim i As Long
Dim rowHeightSum As Double
Dim printHeightLimit As Double
Dim lastRow As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.ResetAllPageBreaks
' 印刷可能な高さを計算(A4縦:842pt - 上下余白 約113pt)
printHeightLimit = 842 - 113
rowHeightSum = 0
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For i = 1 To lastRow
rowHeightSum = rowHeightSum + ws.Rows(i).RowHeight
If rowHeightSum > printHeightLimit Then
' この行の直前で改ページを入れる
ws.HPageBreaks.Add Before:=ws.Rows(i)
rowHeightSum =ws.Rows(i).RowHeight ' 次ページの高さリセット
End If
Next i
MsgBox "改ページを設定しました。"
End Sub
318:デフォルトの名無しさん
25/07/01 07:51:53.41 hLMayhbM.net
>>313
このコードは何をしているかというと、
21行目の上 つまり20行目と21行目に改ページを設定して
上にヘッダー?を設定して
縮尺解除
全列を1ページに収める
行のページ数は自動
用紙サイズはA4
という設定をしています
しかし、改ページの設定は
改ページビューの青い点線(実はこれが自動改ページ)ではないから
1ページと2ページに余分な空白のページが挟まる
319:デフォルトの名無しさん
25/07/01 12:47:55.21 cyOlFSbV.net
インスパイアされて作ってみた
関西のコミュニケーションの多様性にはリスペクトしか無い
URLリンク(89.gigafile.nu)
ネィティブでは無いので誤りが有ったら指摘もらえば改良もやぶさかではない
Captionだけじゃ物足りないので喋らせてみたが、これが結構ドツボ
ExcelでのSpeakは、まだまだ途上らしい
320:デフォルトの名無しさん
25/07/01 21:04:55.51 hLMayhbM.net
>>316
何をお作りになられたのでしょうか?
321:デフォルトの名無しさん
25/07/01 23:30:56.43 uDpPxP0Z.net
俺氏、VBAで去年社内最優秀賞30万
今年はちょびちょび改善で出して1万6500円
抜群のセンスだわさ
322:デフォルトの名無しさん
25/07/02 00:01:46.59 0vwAlXoU.net
そう思うならさっさと転職して本職のITエンジニアになった方が稼げるよ
323:デフォルトの名無しさん
25/07/02 02:51:17.71 g2KaZT8X.net
AI時代にここの質問スレは盛況なのは何故だ
324:デフォルトの名無しさん
25/07/02 03:40:33.29 fiQBdOaz.net
AIがイマイチだから
325:デフォルトの名無しさん
25/07/02 07:59:03.99 02hJ4H7c.net
AIに書かせることはできても、それの検証はどのみち必要だから
326:デフォルトの名無しさん
25/07/02 08:13:15.57 h5Fr+SaE.net
ガイジだけど質問ある?
死にたいガイジ…空気読めないガイジ…死にたいガイジ…
327:デフォルトの名無しさん
25/07/02 08:19:12.11 q22wzhF/.net
AIはうそつきだし
適度に事実も混ぜてくるから一番やっかい
328:デフォルトの名無しさん
25/07/02 08:29:36.52 8Lvzc6gd.net
やっかいだと思うなら使わなけりゃ良いだけなのに、
他人にもそうさせようとするのはなんで?
329:デフォルトの名無しさん
25/07/02 08:36:59.95 QMHVqlVc.net
>>317
[はい][いいえ]を関西弁で、という話題にインスパイアされて
・一つのユーザーフォームを使い回しできる方法
・セルの文字をボタンやラベルのキャプションにしてしまう方法
・何ならしゃべらせる方法
関西弁に限らず、広島弁でも博多弁でもかごんま弁でもとーほぐ弁でもご随意に
リンク先の[ダウンロード開始]ボタンで落とせる
うかつに開くといきなりダイアログが出てきてしゃべりだすので音量注意
OSに入ってるナレーターは、Haruka、Ayumi、Sayaka、Ichiroと選べるはずが
Wordと違ってExcelだとデフォルトのHaruka限定にされて変えられないとのことで
そこがドツボだった まぁ幸い解決方法を指南してくれてるサイトに辿り着けた
喋ってる間は全リソース奪われて他の操作は一切出来なくなるのは、如何ともし難いのか
330:デフォルトの名無しさん
25/07/02 08:47:20.48 q22wzhF/.net
関西弁のyes/no
それはええ/それはええ
331:デフォルトの名無しさん
25/07/02 08:49:18.32 q22wzhF/.net
>>325
個人の中で完結ならいいけど、AIの嘘回答でドヤってくるのが迷惑
332:デフォルトの名無しさん
25/07/02 08:52:51.46 8Lvzc6gd.net
>>328
嘘回答でドヤってきた奴に言えよ
十把一絡げに迷惑って言い散らかすのも充分迷惑だと気付かないのか?
333:デフォルトの名無しさん
25/07/02 09:23:01.60 IvKsZJU4.net
AIにも種類あるからなぁ
問い方にもよるし
334:デフォルトの名無しさん
25/07/02 09:28:17.31 sOTx1Ysw.net
AIにテストとバグ取りまでやらせろ
335:デフォルトの名無しさん
25/07/02 11:09:29.63 QMHVqlVc.net
>>327 ww
336:デフォルトの名無しさん
25/07/02 12:42:29.90 PqQB+KG0.net
AIに作らせて出来てなかったら投げかけるだけだろ
こんなIT音痴な奴がVBA触ってる事にビビる大木
337:デフォルトの名無しさん
25/07/02 19:40:08.71 WTqAcEsV.net
AI使って嘘の回答だったら質問変えたりコード直せばいいだけでしょ。
実際自分で調べるよりもめちゃくちゃ早いし便利に使えてるよ。
人間は平気で嘘つくのにAIに嘘つくなって求めるのはおかしいでしょ。
338:デフォルトの名無しさん
25/07/02 20:01:38.68 0vwAlXoU.net
VBAの場合は他のメジャーなプログラミング言語と比べて平均的な人間とAIの差が大きすぎるから、いきなりゼロショットで指示すると期待通りの結果が得られにくい
もちろんAIの方が上だ
AIに対して予め既存のコードをサンプルとして与えてあげてレベル感を知ってもらうと、いい感じに合わせてくれるよ
339:
25/07/03 10:04:12.85 q23h/8z8.net
「嘘の回答だったら」
そもそも嘘かどうか知ってるなら聴く必要が無い
結局嘘じゃないことを調べるのにそれ以上に時間がかかる
340:デフォルトの名無しさん
25/07/03 10:05:56.29 q23h/8z8.net
「人間は平気で嘘つくのに嘘つくなって求めるのはおかしい」
判らんのに平気で嘘回答するネラーも多い罠
341:デフォルトの名無しさん
25/07/03 10:16:58.13 gVoGF6e7.net
政治家の財源がないは嘘
342:デフォルトの名無しさん
25/07/03 10:28:29.92 q23h/8z8.net
學歴も嘘
343:デフォルトの名無しさん
25/07/03 10:37:23.12 cEJAYS/6.net
>>337
だから話半分に聞くだろ?
AIの回答もそういう姿勢で、参考にはするけど盲信しないことが大事
全部鵜呑みにするならそいつももはやAIと変わらん
344:デフォルトの名無しさん
25/07/03 10:44:24.00 q23h/8z8.net
340
どうみてもAI以下です
345:デフォルトの名無しさん
25/07/03 20:41:52.66 1CjDULGZ.net
こんなAIの本質をわかってないような奴らが作るVBAなんてたまらんよ
346:デフォルトの名無しさん
25/07/03 20:45:28.43 NNwfFfCt.net
>>342
AIのプロフェッショナル様だ!
我らに叡智を与えたまえ!
347:デフォルトの名無しさん
25/07/03 21:14:39.37 zL884xZP.net
どこの誰がなにをどう作ろうとも、その成果物に実際に触る訳でも無いし
それに依って迷惑を被る訳でも無いだろ?
ナニを上から目線で大口叩いてんだか
偶々そのソースを目にすることがあろうとも、評価してくれと頼まれた訳でも無いし
VBA評議会の高位評議員という立場でも無いだろ 何がしたいん?
348:デフォルトの名無しさん
25/07/03 22:51:34.02 IBfGzwrB.net
>>336
AIに質問すればコードの1行ずつ丁寧に解説してくれるけどそれでも正しいかどうか調べるのに時間がかかるの?
349:デフォルトの名無しさん
25/07/03 22:55:11.76 x0A3mg3D.net
それをAIに1行ずつ丁寧に解説させて、その内容をさらにAIに解説させて.....以下略
350:デフォルトの名無しさん
25/07/03 23:14:39.22 1CjDULGZ.net
どんだけAIに質問投げるの下手なんだよマジでよー
351:デフォルトの名無しさん
25/07/03 23:19:49.48 IBfGzwrB.net
人間と同じで相性なんですかね。
合わないものは合わないのかなぁ。
352:デフォルトの名無しさん
25/07/04 08:07:10.89 3EnEQ/Df.net
>>345
AIだろうと人だろうと成果物のテストするだろ
何のためにテストすると思ってるの?
353:デフォルトの名無しさん
25/07/04 09:00:20.43 fF3rQ1JL.net
AIに投げる質問を造るのがうまいと言うことは既にAIに聴く必要が無いんだわ
354:デフォルトの名無しさん
25/07/04 13:21:56.31 3EnEQ/Df.net
それは違う
プロンプトエンジニアリング能力と他の能力は別物
355:デフォルトの名無しさん
25/07/04 15:02:13.77 pEhONqjq.net
だったらAIにでも話してろよ
356:デフォルトの名無しさん
25/07/04 18:27:01.53 0E9WgSh7.net
一生懸命コードの基礎学んだのにセンスが無い奴は必死になるよなそりゃ
357:デフォルトの名無しさん
25/07/04 19:13:39.58 3EnEQ/Df.net
>>353
?
358:デフォルトの名無しさん
25/07/04 21:05:20.15 rizrt2ys.net
>>349
言いたいことがよくわからないです。
おっしゃってるようにAIでコードを書いても人で書いてもテストはします。
ただAIで書いたコードのテストは人のコードより時間がかかるというお話ですか?
丁寧にAIに教えてもらえても?
AIは関係ないと思うけど違うのかな。
359:デフォルトの名無しさん
25/07/04 21:22:07.36 JLFKZ1OE.net
>>355
どこの何をテストする必要があるのかを判断できる能力がある、
もしくはどこの何をテストする必要があるかを導くプロンプトを書ける、
もしくは必要な箇所なテストまで終えるプロンプトをかけるなら問題ない
360:デフォルトの名無しさん
25/07/05 06:16:26.93 +cv+JpUz.net
>>356
例えばCSVファイルを開くときのテストケースを教えてってAI聞いてみたけど答えてくれたよ。
VBAでCSVファイルを開く処理に対して、以下のようなテストケースを行うと、動作の信頼性やエラー対策が強化できます。
主なテストケース一覧
・CSVファイルが存在し開ける 正常にファイルを開けることを確認
・ファイルが存在しない場合 指定されたCSVが見つからない場合の対処
・既に開かれているブックかどうかを確認
・読み取り専用のCSVを開けるかどうか のテスト
・空のCSVファイル 内容が空でもエラーにならないか確認
・文字コードに関わるデータが正しく読めるかのテスト
・CSVの列数・行数が極端に多い たくさんのデータがあるときの パフォーマンスの確認
・ダブルクォートやカンマを含むセル "東京,品川"のようなセルが正しく
361:扱われるか セル確認 ・ファイルロックされている場合のエラー回避の確認
362:デフォルトの名無しさん
25/07/05 06:51:38.76 pq8ewG8r.net
>>357
それだとハルシネーションが含まれていた場合のことを考慮できてない
363:デフォルトの名無しさん
25/07/05 08:48:09.96 rEK7AeQH.net
>>357
余計な型変換に関する確認が必要
0312345678 → 312345678
1-2 → 1月2日
364:デフォルトの名無しさん
25/07/05 08:57:41.98 rEK7AeQH.net
古いExcelでは先頭がIDだとSYLK扱いされる問題もあるな
365:デフォルトの名無しさん
25/07/05 09:10:19.51 +boHNEOG.net
>>357
csvファイルへのショートカットだった場合のチェックがない
開くと読み込みを一緒にしているのが気になった
その前にもともと自力でできる作業なら初めからAIは使わないだろうし
AIが示さない項目を無視していいかの判断ができるのかな
主な項目だからそれ以外もあるよとか後になって言うのはどうかと思うし
366:デフォルトの名無しさん
25/07/05 09:13:22.18 gPk7JHhb.net
ショートカット?これは馬鹿のふりしてるの?
367:デフォルトの名無しさん
25/07/05 09:31:15.35 vyFcCxL+.net
ショートカットでもcsv開くことがあるがcsvでないことはしっている
368:デフォルトの名無しさん
25/07/05 09:35:20.09 eCCJvae8.net
既にAIの知能が人間を遥かに超えており、ボトルネックがバカな人間であることがよくわかるスレ
369:デフォルトの名無しさん
25/07/05 09:46:16.30 vyFcCxL+.net
うちの環境が普通でないなら無視してくれて構わんよ
370:デフォルトの名無しさん
25/07/05 09:55:15.54 Pf7qA/Ja.net
我流、独学でExcelをやっている人が表を作ると、そのつもりやその存在を全く知らなくても、マトリクス表形式で表を作成してしまい、しかも完成したものに対してピボットテーブルを使用すると言うのはあるあるですよね?
371:デフォルトの名無しさん
25/07/05 10:34:06.26 +cv+JpUz.net
>>358
それを自分で確認したらダメなんです?
>>359
>>360
>361
指摘ありがとうございます。
主な一覧だったのでテスト例はさらに出てきたかもしれないです。
開くと読み込むは問い合わせ方が悪かったかもです。
AIで出てこなかった項目が無視できるかどうかの判断は難しいですね。
明らかにテストしなきゃいけない項目がAIで抜けててAI丸投げで作った製品を納品されると怖いものがありますね。
ただAI丸投げの流れは止められないでしょうね。
372:デフォルトの名無しさん
25/07/05 11:46:24.77 dpOItoML.net
>>357
CSVカラムの途中で改行が入る場合
373:デフォルトの名無しさん
25/07/05 15:15:49.95 y/LWjdC1.net
「俺が流れを止めるからお前は先に行け!」みたいなこと言ってみたいね
374:デフォルトの名無しさん
25/07/05 15:50:51.02 8jsOt+Pc.net
「その作業が本当に必要かどうか、もう一度考え直す」
375:デフォルトの名無しさん
25/07/05 19:53:47.88 AqSnrZiN.net
>>370
それはVBA職人的にはタブーでしょ
人力でやってた仕事というのは、自動でやるなら本質的にはそもそもやる必要のないものが多い
VBAはワークフローの改善に踏み込むことなくただ人力作業を単純に自動化するのが王道で、
仕事の意味を問うてしまうとVBAの仕事が減ることに繋がる
376:デフォルトの名無しさん
25/07/05 22:49:12.14 +cv+JpUz.net
>>368
指摘ありがとうございます。
もう回答を全部出してみたよ。
これ以外でテストケースがあるなら負けです。。。
VBAでCSVファイルを開いて読み込む際には、さまざまなケースに対応する必要があります。考えうるテストケースをカテゴリ別に網羅的に洗い出します。
基本ケース
1 正常なCSVファイルを開いて正しく読み込めるか
2 ファイルが存在しない場合のエラー処理
3 空のCSVファイルを読み込んだときの動作
4 CSVファイルのパスに全角文字・日本語が含まれる場合
データ構造・形式のバリエーション
5 カンマを含むデータがダブルクォートで囲まれている "東京都,千代田区"など
6 改行が含まれるデータ
7 ダブルクォートを含むデータ
8 区切り文字がセミコロンやタブなどの場合
9 複数の空白を含む行
10 各行のカラム数が不揃い
11 数値が先頭に0を含むデータ
12 日付形式のデータ
13 UTF-8 BOM付きファイル
14 Shift-JIS形式のファイル
377:デフォルトの名無しさん
25/07/05 23:41:01.05 8jsOt+Pc.net
>>372
・パスが長すぎる場合
・処理系による改行コードの違い
・ファイル全体でダブルクォートが奇数個(閉じられていない)
・巨大すぎる(項目のサイズ、項目の数、行数)
・ファイルの破損(バイナリデータ混入など)
・ファイルシステムの破損、不良セクタなど
378:デフォルトの名無しさん
25/07/06 02:30:01.30 N2XXWgcj.net
>>372
Workbooks.OpenでCSVを読むならテスト項目ほとんど要らなくね?
テキストファイルとして読んで、列と行の分割処理をするなら、
CSVのフォーマット定義を先にやらないとテスト項目作れなくね?
読み込みファイルの指定方法も先に決める必要がなくね?
379:デフォルトの名無しさん
25/07/06 06:55:32.42 hfT56Vvk.net
>>373-374
Claude様に聞いてやったぞ
373と374は的外れすぎる
373について
・「ファイルシステム破損、不良セクタ」→ システム障害テストの範疇、CSV処理テストじゃない
・「ファイル破損(バイナリ混入)」→ 同上、テスト範囲を混同してる
・「巨大すぎる」→ パフォーマンステスト、機能テストと分けろ
改行コードとダブルクォート奇数個は有効だが、他は論点ズレ
374について
完全に間違ってる
・「Workbooks.Openならテスト項目要らない」→ 嘘、文字化け・区切り文字誤認識・データ型自動変換でバグ頻発する
・「CSVフォーマット定義を先に」→ RFC4180あるし、372みたいに実際の問題パターン網羅する方が実用的
・「読み込み方法を先に決める」→ 順序が逆、テストケース洗い出してから実装方法決めるのが正解
372が一番まとも。実際の開発で遭遇する問題を的確に押さえてる
380:デフォルトの名無しさん
25/07/06 08:00:56.53 N2XXWgcj.net
>>375
外部仕様を先に決めるべきという意味だったんだけど、それも間違ってんの?
CSV=RFC4180というのは一般的じゃない気が・・・
Workbooks.Openを使うなら、「CSVフォーマットはExcelのAPIのそれ」で決定だからAPI動作の二重チェックは不要かな~と。
381:デフォルトの名無しさん
25/07/06 12:05:21.27 Jlu3MuzZ.net
セマフォは?
別プロセスが同じファイルを開いてるから今は処理すべきでない、とか
382:372
25/07/06 21:01:04.07 jU0PBm+8.net
すみません。
昨日テストケースをすべて載せるつもりだったのですが書き込み制限で書けず途中で諦めました。
テストケースは37項目まであります。
383:デフォルトの名無しさん
25/07/07 09:23:50.46 GhKlbyJu.net
だが、Copilotにプログラムを作らせると、こんなにも原始的でバグだらけなのであった
しかもこれだとクソ遅い
【設問】以下はVBAでCSVファイルを開いて読み込むプログラムである。バグを指摘せよ。
FilePath = "C:\Users\YourName\Documents\sample.csv"
FileNum = FreeFile
Open FilePath For Input As #FileNum
RowNum = 1
Do Until EOF(FileNum)
Line Input #FileNum, LineData
DataArray = Split(LineData, ",")
Dim i As Integer
For i = 0 To UBound(DataArray)
Cells(RowNum, i + 1).Value = DataArray(i)
Next i
RowNum = RowNum + 1
Loop
Close #FileNum
384:デフォルトの名無しさん
25/07/07 10:00:11.48 xGHCrZSN.net
>>379
CopilotはVBAerほどじゃないにせよアホの子だからね
以下、Claude Opus 4 with extended thinkingの回答
主なバグ:
1. カンマを含む値(“Tokyo, Japan”等)が分割される
2. エラー処理なし。ファイルなかったら死ぬ
3. 変数宣言してない(Option Explicit使ってたらエラー)
4. UTF-8読めない。日本語文字化け
5. セル1個ずつ書き込みでクソ遅い
6. 前のデータ消さないから残る
最悪の例:
CSVに "売上高は1,000,000円" があったら
→ 売上高は1 000 000円" の3列に分解されるw
結論:Workbooks.OpenTextかQueryTables使え
385:デフォルトの名無しさん
25/07/07 10:31:44.26 GhKlbyJu.net
>>380
変数宣言は行数の都合でカットしたのでCopilot君は悪くない
386:デフォルトの名無しさん
25/07/07 14:15:38.83 quoGln+a.net
>>379
ChatGPTだとこんな感じですね。
そのまま貼り付けたので全角も見てくれてる。
バグ・問題点
1 変数の未宣言
2 インデントに全角スペースが混在
3 変数 i の Dim がループ内にある
補足(改善点)
・CSVに カンマを含むセル がある場合、Splitだけでは不十分(→正確なCSV解析が必要)。
・ファイル存在チェック (Dir(FilePath) など) を入れるとより堅牢になります。
・Shift-JIS以外の文字コード(例:UTF-8 BOM付き)は Open では正しく読み込めないことがあります。
387:デフォルトの名無しさん
25/07/07 22:35:59.87 CvRTuASj.net
バグも直してもらえばいいんじゃね
388:デフォルトの名無しさん
25/07/08 00:47:00.39 urjDQqc8.net
今日のCopilotはWorkbooks.Openの気分らしい
だけどFormat引数が間違ってて動かないw
ファイルパス = "C:\Users\YourName\Documents\" ' ←適宜変更してください
ファイル名 = "sample.csv" ' ←読み込むCSVファイル名に変更
完全パス = ファイルパス & ファイル名
Workbooks.Open Filename:=完全パス, Format:=6
↓(実行時エラー1004で動かないぞ!直せ)↓
ファイルパス = "C:\Users\YourName\Documents\" ' ←適宜変更してください
ファイル名 = "sample.csv" ' ←読み込むCSVファイル名に変更
完全パス = ファイルパス & ファイル名
Workbooks.Open Filename:=完全パス
直った
389:デフォルトの名無しさん
25/07/08 01:58:30.92 9X9f1TC3.net
Format:=6なんて絶対使わないのに、どこからコピペしてきたんだよ
390:デフォルトの名無しさん
25/07/08 10:53:17.46 Lf/Jcjxk.net
馬鹿の上塗り
391:デフォルトの名無しさん
25/07/08 16:04:18.48 J6qvAQ9A.net
このスレ沼しか居ねぇな…google ai studioの方がまだ良い解答してくれんぞ…
392:デフォルトの名無しさん
25/07/08 17:01:18.70 G3ulfBZW.net
>>387
とても鋭い視点です。さすがですね!
393:デフォルトの名無しさん
25/07/08 17:33:24.49 BCBq8ImS.net
studio と名付けられてる意味わかってんのかな?
中の人はGeminiそのものらしいじゃんか
394:デフォルトの名無しさん
25/07/08 17:42:58.67 yBGpSZNW.net
>>389
その論理だとChromeとChrome OSも比較できないことになるが?
同じモデル使ってても実装・UI・機能が違えば体験は全然違うぞ
StudioはAPI統合やパラメータ調整できる開発者向けツール、コンシューマー版Geminiとは設計思想が違う
「中の人が同じ」で比較無意味論は技術理解が浅すぎる
387の解答品質指摘は妥当な比較対象だし、実際のユーザー体験差を無視してる時点で的外れ
とAI様が仰せになっている
395:デフォルトの名無しさん
25/07/08 18:21:34.45 urjDQqc8.net
>>385
どうやらCopilotさんは間違って記憶している模様
> Workbooks.OpenのFormat 6 はカンマ区切りですか?
はい、Excel VBAで使用される Workbooks.Open メソッドの Format:=6 は「カンマ区切り (CSV) 形式」を示します。
これは、テキストファイルを開くときに、フィールド区切り文字としてカンマが使われている場合に指定されます。
> CSVは2じゃないの?
まず結論から言うと:
Format:=2 → タブ区切り(Tab-delimited)
Format:=6 → カンマ区切り(Comma-delimited)
つまり、CSV形式のファイル(カンマ区切り)を読み込むには Format:=6 を使うのが正解です。
w
396:デフォルトの名無しさん
25/07/08 18:33:40.30 G3ulfBZW.net
うちでは2って教えてくれた
397:デフォルトの名無しさん
25/07/09 08:08:49.40 NYgpwKZ5.net
つまり、開発環境てことだろ? その中のAI部分を担当してるのはGeminiという認識なんだが?
そのGeminiを使ってAI開発に特化した環境を整えてみましたが、何か? っつーのがStudioなのでは?
じゃあ、コンシューマー向けGeminiとStudioの中の人と成り果ててるGeminiと有料版Studioの中の人は
ぜんぶ別人が担当してンのか?
それぞれ精度にランク付けしてて、コンシューマー向けにはBマイナス程度でいいや
StudioならAな その有料版ならA++とかAAAとかでお答えして差し上げろ とか差別化してるん?
Ver違いってならまだ判る 無料なら2.0でいいよ Studioは2.5にしとくか 有料版は3.0β版な
Copilotを多用してる奴に向かってgoogle ai studio(←ぜんぶ小文字なのが何とも)のが優れてる!
っつーお門違いのコンコンチキな放言は許容できるのか?
おなじGemini同士で比較して見せるとかならまだしも
まあ、おれにはどうでもいいんだけど、ブレインストーミングがてらにしたためてみました
398:デフォルトの名無しさん
25/07/09 08:48:44.88 /UzV6WSq.net
スレ違いの長文とか救えない
399:デフォルトの名無しさん
25/07/09 09:32:08.40 EKMDM/sM.net
391
x 間違って記憶している
o 過學習でアホになった
400:デフォルトの名無しさん
25/07/09 10:08:19.13 MuvaPJLR.net
LLMで過学習…?
401:デフォルトの名無しさん
25/07/09 10:36:50.67 1h9feY7y.net
391
x 間違って記憶している
o 円形脱毛症でハゲになった
402:デフォルトの名無しさん
25/07/14 13:04:26.89 GLg5N4aG.net
URLリンク(forest.watch.impress.co.jp)
「JScript」に代わり「JScript9Leg
403:acy」が既定のスクリプトエンジンに ~Windows 11 24H2以降で
404:デフォルトの名無しさん
25/07/15 10:46:15.47 1v3q9PKm.net
Windows11の24H2にしたらJScriptが動かない
URLリンク(blog.macorin.net)
405:デフォルトの名無しさん
25/07/15 11:19:52.18 IENqpxZQ.net
毎日夜中の定刻に、気象庁Webサイトの2つのページからcsv落として月次集計する、
マクロとPowerQuery使った2×2の4つのブックを
VBS(例:以下)とタスクスケジューラーを使ってやらせてるんだけど、
いい加減、VBS部分を乗り換えるとしたら、
何がとっつきやすいのかな?
PowerShell?
PowerAutomate?
Python?
---例:DLブックを実行させるVBS---
Const WB_PATH = "E:\集計\01_DLファイル\DLブック_地点A.xlsm"
Const PROC_NAME = "DL_Ref"
Dim excelApp
Set excelApp = CreateObject("Excel.Application")
With excelApp
.Visible = False
Dim wb
Set wb = .Workbooks.Open(WB_PATH)
.Run wb.Name & "!" & PROC_NAME
.DisplayAlerts = False
wb.Close
End With
excelApp.Quit
406:デフォルトの名無しさん
25/07/15 11:31:18.20 izh84eSC.net
>>400
**PowerShell**がおすすめです。
理由:
- VBSに最も近い書き方
- Excelの操作がそのまま使える
- Windowsに標準搭載
- 学習コストが低い
移行例:
```powershell
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$wb = $excel.Workbooks.Open("E:\集計\01_DLファイル\DLブック_地点A.xlsm")
$excel.Run("DL_Ref")
$wb.Close()
$excel.Quit()
```
PythonやPower Automateは学習コストか制約があるので、PowerShellが無難です。
407:デフォルトの名無しさん
25/07/15 11:33:01.33 l/eryieH.net
vbsに近いならjsだろう
408:デフォルトの名無しさん
25/07/15 11:52:00.35 1v3q9PKm.net
PowerShellは遅くてびっくりするのと
COM(IDispatch)経由の操作なので基本的に書き方はvba/vbsを踏襲する
普通に使うと割とつまらない
409:デフォルトの名無しさん
25/07/15 11:53:44.70 SjeLYLBh.net
>>400
スレ違い
410:デフォルトの名無しさん
25/07/15 13:45:04.50 IENqpxZQ.net
>>401,403
ありがとう。やってみる。
411:デフォルトの名無しさん
25/07/15 18:57:22.18 F7nJfSiA.net
やっぱり馬鹿かよ
412:デフォルトの名無しさん
25/07/16 22:35:52.90 6RqIkTEU.net
目的のフォルダを取得する効率的なコードを教えてください
1番効率的なのはフォルダのフルパスそのものを取得する事ですが、それも難しいので各階層の部分一致でお願い致します
413:デフォルトの名無しさん
25/07/16 22:45:55.20 NiCGeJue.net
パスが流動的ってこと?
指定する以外にやったことないわ
414:デフォルトの名無しさん
25/07/16 23:01:32.70 IRXrFh0B.net
部分一致が複数あるとして、その順番が入れ替わる可能性があるかどうかでコードが変わるね
415:デフォルトの名無しさん
25/07/17 00:19:01.17 zBpNwhAR.net
コード\分類\フォルダ\期間別フォルダ\探したいファイル
みたいな感じですね
416:デフォルトの名無しさん
25/07/17 00:24:00.03 Nf2HlQRn.net
>>405
Powershellからcom呼ぶときはしっかりお片付けしてね
適当にやるとC#と一緒でゴミが残る(かも)だから
417:デフォルトの名無しさん
25/07/17 01:52:47.41 gLLqR9ZX.net
>>407
馬鹿は「効率的」は何が効率的なのかとかすら説明できない
418:デフォルトの名無しさん
25/07/17 05:21:40.06 tC2PFukj.net
馬鹿じゃなきゃこんなところで聞かない
419:デフォルトの名無しさん
25/07/17 07:17:52.06 wYenyBlK.net
こう言うことなんじゃないの? ディレクトリ(フォルダ)名が曖昧な記憶だから
漠然とした検索してファイル見付けたい とかなんじゃ
URLリンク(www.limecode.jp)
3パターン提示してくれてるから、どれでもお好きなもので・若しくは全部使ってもいいし
一年365日ばかしか書けない誰かさんは無視しとけばいいよ
彼は馬鹿と書き込むのがじぶんのDutyだと思い込んでる節があるし 認知の病なんだろうきっと
420:デフォルトの名無しさん
25/07/17 07:36:40.82 rYvcj5zc.net
彼はこんなとこでしかマウントとれないかわいそうなやつなんだ
そっとしといてあげよう
421:デフォルトの名無しさん
25/07/17 07:41:07.22 aYpECmLq.net
>>407
目的のフォルダはどうやって示されてるの?
効率的っていうのは、何に対するパフォーマンスを指してる?
422:デフォルトの名無しさん
25/07/17 08:47:01.58 sGHKyXGW.net
>>410
Dirでワイルドカードが使えるので、こんな感じに仕上げてみた
※ヒットするパスの例 → C:\Documents\A001\B000X1\Excel\20250717\FileABC001.xlsx
HomePath = "C:\Documents"
SearchPath = "A???\B*\Excel\2025????\File*.xlsx"
ResultPath = HomePath
SearchPathList = Split(SearchPath, "\")
For I = 0 To UBound(SearchPathList)
If Dir(ResultPath) <> "" Then
ResultPath = "ファイルの下は何もないよ!"
Exit For
End If
FolderName = Dir(ResultPath & "\" & SearchPathList(I), vbDirectory)
If FolderName = "" Then
ResultPath = "そんなパスはないよ!"
Exit For
End If
ResultPath = ResultPath & "\" & FolderName
Next
MsgBox "これかな?" & vbCrLf & ResultPath
423:デフォルトの名無しさん
25/07/17 09:28:10.58 TqONBLPd.net
あたしゃ、ディレクトリ関係は「見える」の重視で、このあたり参考にしてワークシート関数でやっちゃうけど
URLリンク(qwerty.work)
424:デフォルトの名無しさん
25/07/17 20:37:37.93 zBpNwhAR.net
>>417
正規表現の様な事ができたのでしょうか?
425:デフォルトの名無しさん
25/07/17 20:38:38.98 zBpNwhAR.net
>>416
例えばファイルシステムオブジェクトの再帰処理で全フォルダをループしてしまうのは非効率だなぁという事です
426:デフォルトの名無しさん
25/07/17 21:05:30.67 zBpNwhAR.net
>>417
本当に複数の階層で部分一致できますでしょうか?
427:デフォルトの名無しさん
25/07/17 23:17:21.95 mypLb9KX.net
釣りでなければ真正馬鹿で確定
428:デフォルトの名無しさん
25/07/17 23:26:46.72 DMF1qliv.net
Chatさん。未検証
再帰使わずキュー処理
Sub FastSearchMinimal()
Dim fso As Object, q As Collection, f As Object, i As Object
Dim r As Long: r = 2
Dim k As String: k = "sample"
Set fso = CreateObject("Scripting.FileSystemObject")
Set q = New Collection: q.Add fso.GetFolder("C:\TestFolder")
With Sheets(1): .Cells.Clear: .Range("A1:C1").Value = Array("種類", "名前", "パス"): End With
Do While q.Count > 0
Set f = q(1): q.Remove 1
For Each i In f.SubFolders: q.Add i: If InStr(1, i.Name, k, vbTextCompare) > 0 Then WriteRow r, "フォルダ", i.Name, i.Path
Next
For Each i In f.Files: If InStr(1, i.Name, k, vbTextCompare) > 0 Then WriteRow r, "ファイル", i.Name, i.Path
Next
Loop
MsgBox "完了"
End Sub
Sub WriteRow(ByRef r As Long
429:, t As String, n As String, p As String) With Sheets(1): .Cells(r, 1).Resize(1, 3).Value = Array(t, n, p): End With: r = r + 1 End Sub
430:デフォルトの名無しさん
25/07/18 03:56:36.13 kCxulfmG.net
若い子はChatGPTのことチャッピーと呼んでる
431:デフォルトの名無しさん
25/07/18 08:09:47.41 JhLn+KYd.net
Sub 探す()
Dim fso As Object,root As Object
Set fso = CreateObject("Scripting.FileSystemObject")
' ルートフォルダを取得して再帰処理スタート
Set root = fso.GetFolder("パス")
再帰処理 root
End Sub
'――――――――――――――――
Private Sub 再帰処理( ByVal f As Object)
Dim file as Object,fpath as string
If Instr(f.name,"目的") > 0 Then
' ファイルをチェック
For Each file In f.Fileso
If InStr(file.Name,"検索値") > 0 Then fpath = file.path
Next
End if
Dim sf as Object
' サブフォルダを再帰処理
For Each sf In f.SubFolders
If Instr(sf.name,"コード") > 0 or Instr(sf.name,"書類") > 0 or Instr(sf.name,"分類") > 0 or Instr(sf.name,"yyyymmdd") > 0 Then 再帰処理 sf
Next
End Sub
432:デフォルトの名無しさん
25/07/18 08:22:30.72 avd6O0J8.net
>>417 はちょっと手抜きしてたので、ちゃんと作り直した。
Sub 使い方()
Set Result = New Collection
DirMulti "C:\Documents", "A???\B*\Excel\2025????\File*.xlsx", Result, vbNormal
(以下略)
End Sub
Sub DirMulti(HomePath, SearchPath, ResultCollection, Optional Attributes As VbFileAttribute = vbNormal)
Pos = InStr(SearchPath & "\", "\")
Search = Left(SearchPath, Pos - 1)
NextSearch = Mid(SearchPath, Pos + 1)
Set SearchResult = New Collection
Res = Dir(HomePath & "\" & Search, vbDirectory Or Attributes)
Do While Res <> ""
If Res <> "." And Res <> ".." Then SearchResult.Add Res
Res = Dir()
Loop
If NextSearch = "" Then
For Each Res In SearchResult
ResultCollection.Add HomePath & "\" & Res
Next
Else
For Each Res In SearchResult
If (GetAttr(HomePath & "\" & Res) And vbDirectory) <> 0 Then
DirMulti HomePath & "\" & Res, NextSearch, ResultCollection, Attributes
End If
Next
End If
End Sub
433:デフォルトの名無しさん
25/07/18 09:23:27.37 J+L+9run.net
要件定義せず走り出すとこうなるという見本
434:デフォルトの名無しさん
25/07/18 10:47:27.74 kfpMJi4P.net
ま、それぞれがこれに取り組むことで、それなり成長する(こともある)んだから、いいじゃん
外野から思索も模索もせずにつべこべ小言書くことしかできないご老体には言わせときゃいいだけ
相談者、夜中にしか出張って来ないから、日中に迷走するのはやむを得ない
やりたいことは何となく見えてきたけど、それをどう実装したいのか?誰に使わせたいのか?何のために作るのか?
とかがイマイチ漠然としてて、方向ぐらいは提示して欲しいのはある
エクスプローラー開いて検索じゃあダメな理由とか、ファイルじゃ無くてフォルダ(名)に拘ってるように読めて
例えば、各々が勝手にフォルダ作ってファイル放り込んでるのを是正したいんだ、とかなのか
もう一歩踏み込んだ相談が出て来るまで待機、も有り得る
435:デフォルトの名無しさん
25/07/18 16:30:22.97 aPZeO8n7.net
VBAの作り方が上手すぎて情シスに異動させられそうになったセンスの塊こと俺だけどよく構文を知ってるとかテキスト通りにとか気にしてる奴は3流よ
使用者の使いやすさにまず全振り
次に拡張性を気にすりゃメンテナンスもしやすくなる
エラー回避しない奴は論外
でも結局はどう動かすかなんよ
436:デフォルトの名無しさん
25/07/18 16:43:02.04 AbgnUBWx.net
Aという処理をVBAでさせようってお手本みたいなコードを書いてもそのA自体にセンスが無い奴が多いんだよな
それが役職も評価も年収も上がらないVBAを勉強しただけのおぢさん
437:デフォルトの名無しさん
25/07/18 17:25:18.33 kfpMJi4P.net
>>427 読み直したら、ID末尾runだけに?
438:デフォルトの名無しさん
25/07/18 18:03:06.70 tx5irUc8.net
>>431
みんながみんなエスパーしながら好きに書いてる何を読み直すの?
439:デフォルトの名無しさん
25/07/18 20:55:57.57 kfpMJi4P.net
わかんなきゃいいよw カリカリすんなよ
フォルダ名を取得する記事見付けた 検索文字で絞る事もできる *とか?とかも要らん
URLリンク(tmkr7788.livedoor.blog)
で、一番上のフォルダ指定するのが手入力っぽいから、それも自動取得するなら
Sub Sample()
Dim FPath As String
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "C:\ほにゃらら"
.Title = "フォルダを選択してください"
If .Show = -1 Then
FPath = .SelectedItems(1)
End If
End With
Cells(3,3) = FPath
End Sub
これを別ボタンに貼り付ければ、ディレクトリ探すのもマウスオペだけで済む お好みだけど
※ ほにゃらら部分は、デフォルトで指定しときたいフォルダ名に
440:デフォルトの名無しさん
25/07/18 21:22:07.30 VbDqcBb9.net
>>431
これ何言ってるのか理解できない
なにがrunだけに、なのか
441:デフォルトの名無しさん
25/07/19 04:46:02.20 s8PmOx3D.net
>>45
え、Accessは2027年で使えなくなるの!?
442:デフォルトの名無しさん
25/07/19 06:29:44.25 QjhfSjEw.net
>>433
馬鹿
443:デフォルトの名無しさん
25/07/19 07:33:32.95 xtuIEHIA.net
>>435
Access2027が最後のAccessになるって、
Windows10が最後のWindowsになるって言ったMicrosoftが言ってた
444:デフォルトの名無しさん
25/07/19 08:03:25.99 hkkuRgMQ.net
昨日初めてwin12て使ってる記事見たわ
445:デフォルトの名無しさん
25/07/19 09:32:36.51 S5W6kZB3.net
指定したフォルダ以下の、サブフォルダとファイルを取得する記事も見付けた
>>433 のは、フォルダのみだけど、その中身もそのファイル情報も見れるのはいい
何よりシンプル 開きたい場合は上のを参考にすればいいと思う
URLリンク(akira55.com)
ExcelにTreeViewって無かったっけ?とか思い直してググってて辿り着いた
TreeViewを実装しようと試みて、みんな大好きTANAKAさんのサイト参考にしようとしたら
Form上に配置するのに、その他のコントロールから選ばなきゃならなく成ってて
ImageListに至っては追加はできてもプロパティ変更しようとするとエラー 64bitのせい?
TANAKAの例はExcel2003で説明してるからなのか もはやオワコンなのか なぞ
まぁ、後日のメンテとかも面倒そうだから、Sheet上に書き出すのがいちばん楽なんだろうな
446:デフォルトの名無しさん
25/07/19 10:05:18.56 TEpbrrsS.net
>>437
きっとwin11はwindowsではない新種のOSなんだろう
447:デフォルトの名無しさん
25/07/19 15:57:41.07 ZTd2BQVd.net
>>439
実行結果のファイルうpしてみて
448:デフォルトの名無しさん
25/07/19 16:20:49.62 A8cbKdEJ.net
パス長いとかいい加減にしろとな
449:デフォルトの名無しさん
25/07/19 16:52:52.55 S5W6kZB3.net
>>441 ? リンク先に実行結果の画像出てるけど?
他に何を出せと? おれが実行した後のファイルなんて
中身まるごと見られたら困るものだらけだから、嫌なんだけど?
450:デフォルトの名無しさん
25/07/20 12:26:16.14 UYPMBFMH.net
見られて困るものだらけのPCって犯罪的な?
451:デフォルトの名無しさん
25/07/23 07:42:55.14 jnXMDL+k.net
>>429
その様にコードを書いてマクロを作成するのに何日くらいかかりますか?
452:デフォルトの名無しさん
25/07/23 08:46:08.98 Rz/tc4F0.net
回避ルートが無い場合はエラーで止まる分は放置だな
下手なメッセージ出して止まるより分かりやすい
453:デフォルトの名無しさん
25/07/23 10:53:39.46 S2JD2z+w.net
>>444
C:\ドキュメント\重要機密\A~E(1)\新しいフォルダ\巨乳物
>>445
俺はこの道30年、最近やっとコメントをしっかり書く習慣が身についてきた感じがしてる
昔も一応は書いてたけど、今見ると言葉が足りてなさすぎて解読に苦労する
>>446
自分だけが使うんならいいけど、他人はエラーメッセージとかさっさと消しちゃったり自力で解決しようとして何が起きたかわからなくされちゃうからなあ
454:デフォルトの名無しさん
25/07/23 19:11:51.35 jnXMDL+k.net
>>447
コメントですか
AIに書かせると楽かもしれませんね
455:デフォルトの名無しさん
25/07/23 20:20:01.08 jSDoEOvR.net
コメントは最低限しか書かないなあ
リファクタリングしまくって、コメント書かなくてもわかるコードにする方がいいと思う
1~2日で作成したら、最低1週間はリファクタリング期間
456:デフォルトの名無しさん
25/07/23 21:02:26.59 3kQj9G/6.net
規模感がちょっとわからないけどテスト込みで手直し1週間?
457:デフォルトの名無しさん
25/07/23 21:55:41.80 jSDoEOvR.net
規模はまちまちだけど、この例ではテスト込みで作成1~2日
完成後1週間は毎日コードを読み直す時間をとる
すると何かしら改善点が見つかる
毎日読んでも何にも改善点なく1週間過ぎたらステーブル
458:デフォルトの名無しさん
25/07/24 21:58:34.96 GZnFTazm.net
複数のシートをpdf出力したいのです。
wb.Sheets(arr).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath
の様に、ActiveSheetで指定するしか方法はないのでしょうか?
ActiveSheetは明示的でないので避けたいです