Excel VBA 質問スレ Part76

レス数が900を超えています。1000を超えると表示できなくなるよ。
2022/05/01(日) 02:23:41.78ID:2t63WK/jM
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑2行に減ってるけど、同じ内容を3行に増やして貼り付けること

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

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
Excel VBA 質問スレ Part75
https://mevius.5ch.net/test/read.cgi/tech/1644384272/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2022/07/01(金) 15:56:44.16ID:wWku/Klda
俺、一回しか教えねーぞ!
やるから見て覚えろ盗んで覚えろな!
これ、昭和の意地悪い上司。
それが当たり前だった時代
2022/07/01(金) 15:57:57.34ID:Ry4wIvAM0
>>844
そうそう
アホちゃうの
2022/07/01(金) 15:59:37.00ID:wWku/Klda
>>843
めっちゃ分かる
何がなんでもマクロでやっているヤツって何なんだろうね
2022/07/01(金) 17:12:32.89ID:B9UYAOsl0
>>844 みたいな考えの奴はたいていちゃんと聞いてないしメモ渡しても無くしたりするしw
2022/07/01(金) 17:35:59.70ID:Ry4wIvAM0
>>848
メモ渡すってアホなん
2022/07/01(金) 17:57:54.04ID:Dqsnfi220
>>848
そういう奴でも同じ事何回か教えりゃ覚えるから、
分かんなかったらいくらでもまた聞けって言ってる
目的は教育コストの削減とかそいつの成長とかじゃなく仕事の完了な訳だから
2022/07/01(金) 18:43:10.74ID:miA2ycF9M
いやこれ、あわしろっていう新手の荒らしですよ。
2022/07/01(金) 19:33:27.88ID:rTaPWcb90
昭和からEXCEL使ってた人いる?
2022/07/01(金) 19:34:18.95ID:B9UYAOsl0
>>850
その場限りの相手ならそれが正解だけど>>849 みたいなポンコツは成長しないから今後とも仕事させるならとっとと切り捨てないと結局仕事の完了が遅れるだけ
854デフォルトの名無しさん (ワッチョイ 3f4f-60CD)
垢版 |
2022/07/01(金) 19:41:46.04ID:m7rasyZv0
>>852
そもそも昭和の時代にEXCELあったっけ?
あの頃ってロータス123とか
マルチプランの時代じゃないの?
2022/07/01(金) 19:42:01.43ID:Gg+5fIBkM
>>853
そういうことを言い出したら極論VBA使いもクビにして優秀なエンジニア雇えという結論にしかならん
雇用維持も企業の責任
2022/07/01(金) 19:52:08.13ID:lB7C8CJv0
>>833
複数のブックを別ウインドウで開くようになったからな
個人的にはユーザーフォームが最前面に来ないのがめんどい
2022/07/01(金) 19:52:42.66ID:lB7C8CJv0
あと最小化するとユーザーフォームも消えるのが嫌だな
2022/07/01(金) 20:32:48.53ID:B9UYAOsl0
>>854
最初の日本語版は1989年(平成元年)リリースだから日本語版を使ってた人は居ないはず
最初のExcelはMac用に1985年(昭和60年)にリリースされてるみたいだからもしかしたら触った人がいるかもしれない
2022/07/01(金) 20:38:52.77ID:B9UYAOsl0
>>855
別に辞めさせなくてもポンコツはポンコツで務まるような職場に移せば良いだけだろ
860デフォルトの名無しさん (ワッチョイ ff90-gXkX)
垢版 |
2022/07/01(金) 21:05:26.47ID:0+5KhUlf0
vbエディターを開いたときに開いているブックのモジュールやらUFやらがバーっと開くのを止めさせたいんですが、どなたかご存じないですか?毎回重ねて並べて閉じるのがめんどい。
2022/07/01(金) 21:10:05.40ID:CjhzObSj0
ラジオボタンがクリック1回で反応しなくて2回マウスでカチカチって指定しないといけないんだけど、直し方わかる人いますか?(´・ω・`)PCの問題なんかな?
2022/07/01(金) 21:42:37.97ID:kFE+Jjo70
マルチプランならあるな。
と言っても平成のはじめだけど。
あの時代はPC買うとおまけで違法コピーモノがもらえる時代だからな、
マルチプランも123も両方あったわ。
当時は123のほうが強かったんだよね。
Excelとマルチプランて名前が変わっただけじゃないの?
2022/07/02(土) 00:17:07.82ID:7TC/SMOx0
Excel3.0から使っていたら人ならいたよ。
とっくに定年退職されてます。
最近のExcelはごちゃごちゃしていて苦手と言っていたかな。
864デフォルトの名無しさん (ブーイモ MMb6-K8/U)
垢版 |
2022/07/02(土) 00:35:50.92ID:eLIQ72LUM
Collectionについての質問なのですが
Collectionの要素をソートする場合
それ用のSubを作って、その中でソート後のCollection変数を作ってその中に順番に要素を1つ1つ入れていって最後に
set 元のcollection=新collection
とやる方法を考えつきました。

この方法で問題ないですか?それとももっとスマートな方法がありますか?
2022/07/02(土) 00:50:08.19ID:vnn63W/20
懐かしいの。
当時 IBM 5550とかいうパソコン使ってた記憶がうっすらある
そこでマルチプラン動かしてた
ところが海外拠点ではロータス123 の方が評判でどこかでそれに切り替えた記憶がある。同時に IBM 55505何かに変更したような記憶があるな

マック使ってたやつが Excel を自慢して確かに羨ましかったな
DOS V パソコンで Windows 3.1が動いてその上で Excel が動いた時は感激したな
2022/07/02(土) 01:12:48.41ID:yZ67dQaR0
昭和ならロータス123とアシストカルク使ってたな
あれはDOSだったかな?
2022/07/02(土) 01:21:18.54ID:yZ67dQaR0
DOSの頃はファイラーはFD、ネットはエアクラフト、お絵描きはkid98、音楽はMIMPIがデファクトスタンダードだった
2022/07/02(土) 01:36:45.55ID:7TC/SMOx0
昔は企業で使うPCソフトといえば表計算と文書ソフトぐらいだったもんね。
869デフォルトの名無しさん (ワッチョイ 8a4f-iquj)
垢版 |
2022/07/02(土) 06:04:41.51ID:kG8DYDgz0
>>864
良いんじゃない?それで。
用途にもよるけどコレクションにキーくっつけといて
別にキー一覧みたいのをソートして作っといて
そのキーからソートした順番に引っ張るっていう方法もあるけど。
870デフォルトの名無しさん (ブーイモ MMb6-K8/U)
垢版 |
2022/07/02(土) 06:14:46.63ID:v1xY47GsM
>>869
あれれそうですか。
キーの方法も良さそうですね。

でもこんなひとはよく使用しそうなのに話が盛り上がらないのは
みんなのVBAのスキルが低レベルだからでしょうか?
871デフォルトの名無しさん (ブーイモ MMb6-K8/U)
垢版 |
2022/07/02(土) 06:15:13.26ID:v1xY47GsM
x こんなひと
o こんなこと
2022/07/02(土) 06:29:09.78ID:BdV6t7uW0
すげーな、普通の人が寝る夜中に盛り上がらないからって他人を低レベル呼ばわり
2022/07/02(土) 06:35:31.84ID:yZ67dQaR0
>>870
かまってもらえないからみんなまとめて低レベル扱いですかそうですか
くさっ
874デフォルトの名無しさん (ワッチョイ 8a4f-iquj)
垢版 |
2022/07/02(土) 06:52:10.92ID:kG8DYDgz0
>>870
なるほど、ただの煽りかも知れないけど
あまり人前でそう言うことは言わない方がいい。

人を嫌な気分にさせるし
自惚れ屋と思われて周りからも疎まれることになる。
自分の為にも思ったことは口にしたり書き込んだりする前に一度考えてから実行する方が良いよ。
875デフォルトの名無しさん (エアペラ SD13-qRYS)
垢版 |
2022/07/02(土) 07:31:29.49ID:LyZZMtStD
>>870
当たり前の処理のどこに盛り上がる要素があると思うのか
そもそもソートが必要なものにcollection(リスト)使おうって時点で
データ構造の選択を間違ってる可能性が大きい
876デフォルトの名無しさん (ブーイモ MMb6-K8/U)
垢版 |
2022/07/02(土) 07:35:58.08ID:+UfCFyJWM
わかった
じゃあいい
2022/07/02(土) 07:38:04.43ID:Vi0lNJ4o0
釣られすぎ
878デフォルトの名無しさん (ブーイモ MMb6-K8/U)
垢版 |
2022/07/02(土) 07:40:07.80ID:+UfCFyJWM
For-Next文の中だけで使う局所ローカル変数を定義する場合は
そのFor-Nextブロック内で
Dim a as String
でいいんですっけ?
それともモジュールの先頭で?

たしかVBAでは局所ローカル変数の概念がなくて
Sub/Function内すべての場所で使える気がするのだけど。
879デフォルトの名無しさん (ワッチョイ 8a4f-iquj)
垢版 |
2022/07/02(土) 07:49:38.67ID:kG8DYDgz0
>>878
局所ローカルという呼び方をするのかは兎も角
関数やメソッド以下のスコープ変数は基本的には設定出来ない。

変数宣言をする場所についてはVBAに限らず
そのスコープが始まる頭のところに書くのが一般的だよね。
ただ、言ってる通り別に先頭に書かなくても問題なく実装は出来る。
880デフォルトの名無しさん (ブーイモ MMc6-SrHA)
垢版 |
2022/07/02(土) 07:49:48.13ID:vz70zrJPM
>>870
盛り上がったじゃないか
良かったな
2022/07/02(土) 07:49:50.15ID:LyZZMtStD
>>878
言うとおり局所ローカル変数は存在しないのでFunctionやSubの中ならどこでもいいよ
モジュール先頭(Function、Subの外側)だとグローバル変数かパブリック変数になるからその目的ならダメ
882デフォルトの名無しさん (ブーイモ MMb6-K8/U)
垢版 |
2022/07/02(土) 07:58:43.11ID:+UfCFyJWM
>>879
>>881
なるほどありがとうございます。
やっぱりできないのですね。

でもSub/Function先頭に書くと可読性が著しく下がる(この意味が分からない人はスキル低すぎ)のでやめときます。
われわれのように複雑なプログラミングをしてる人にとってはVBAの言語はいろいろ不便に感じますね。
883デフォルトの名無しさん (ワッチョイ 8a4f-iquj)
垢版 |
2022/07/02(土) 08:01:20.13ID:kG8DYDgz0
>>882
だからそう言った言い方はやめた方がよいかと。
モロに自分が「単一責任原則も知らずにスパゲッティコード組みます」と言ってるようなものだから。
2022/07/02(土) 08:27:22.57ID:bQuvSXdqD
>>882
COBOL書いたら死んでしまいそうな人
2022/07/02(土) 09:00:40.59ID:At3W7bIA0
>>878
まあ好みだけど俺は変数宣言は可能な限り使う直前って決めてるからそのケースならループ内で宣言する
2022/07/02(土) 09:30:40.85ID:6d3aqhyk0
チゲ鍋みたいだな局所ローカル
2022/07/02(土) 09:41:11.94ID:qJpeB53K0
DSのプチコンでローカル変数のありがたさを思い出したな
888デフォルトの名無しさん (アウウィフ FFcf-9ZeA)
垢版 |
2022/07/02(土) 09:55:37.37ID:COZLaCzbF
局部もろ観え
2022/07/02(土) 12:13:59.49ID:vnn63W/20
>>885
何回も変数宣言を実行することになるのかな。そうなら理論的にはメモリの無駄と速度の低下が発生するんじゃないの
2022/07/02(土) 13:17:36.46ID:Y5ZkAX2p0
ReDimの存在
2022/07/02(土) 13:53:14.52ID:At3W7bIA0
>>889
宣言文と実行文の違いを学ぼうか

>>890
ReDim は実行文だよ
2022/07/02(土) 14:54:16.39ID:7TC/SMOx0
久々に熱いスレになったね
2022/07/02(土) 16:46:05.89ID:vnn63W/20
>>891
普通の文と同じように実行されるわけはないと思ったんで疑問形で書いたんだけど

でもどういう法則があるのかよくわからんから質問したの

宣言文と実行文で検索しても参考になる記事はなかった

教えてくれませんか?
2022/07/02(土) 17:08:32.73ID:At3W7bIA0
>>893
VBA 宣言 ループ とかでググればいいかと
https://thom.hateblo.jp/entry/2018/06/02/185716
一部の例外はあるけど基本的に宣言文は最初にまとめて処理される
なのでサブルーチンに入った時点で変数は作成されるからメモリーの無駄とか速度低下はないよ
2022/07/02(土) 18:56:13.26ID:vnn63W/20
>>894
おおー、なるほど。
よくわかった、ありがとさん。
2022/07/03(日) 12:22:53.01ID:Jv7ZJhwXr
>>882
なんでわざわざ煽る言い方するわけ?
マシで理解できないわ
2022/07/03(日) 12:39:04.19ID:v1f+WlYn0
スレ立ち上げ当初みたいに、こうやって真面目な議論してれば良スレなんだよな。

あんたらハメ外せばすぐ毛の話。。。
2022/07/03(日) 13:05:07.71ID:Fpu/jUUc0
質問者の質も落ちた
2022/07/03(日) 16:27:46.74ID:v1f+WlYn0
初期の頃、Excel板かここかは忘れたけど、質問も即答してくださる凄い回答者が何人かいた覚えがある。

今はいなくなったよね。
質問側も意味不明な質問ばかり。
2022/07/03(日) 17:15:16.28ID:ur8aI9T40
そういえば昔って質問にもテンプレなかったっけ
2022/07/03(日) 18:58:18.36ID:95K4DRnu0
てか議論するスレでもないけどな
2022/07/03(日) 21:36:18.00ID:v1f+WlYn0
思い出した。昔はいくつかのVBAスレがあった
2022/07/03(日) 21:53:26.02ID:+uLGaU5J0
【VBA エキスパート】 Excel / Access https://kizuna.5ch.net/test/read.cgi/lic/1640108986/
素人にVBA仕込んだ https://medaka.5ch.net/test/read.cgi/prog/1642131517/
VBAのフリーランスエンジニアは需要ありますか? https://medaka.5ch.net/test/read.cgi/prog/1598637098/
Excel VBA 質問スレ Part76 https://mevius.5ch.net/test/read.cgi/tech/1651339421/
VBAなんでも質問スレ Part3 https://mevius.5ch.net/test/read.cgi/tech/1631184381/
Access VBA 質問スレ Part2 https://mevius.5ch.net/test/read.cgi/tech/1544620479/
★今VBAを勉強してるんだが★ https://medaka.5ch.net/test/read.cgi/php/1214626617/
2022/07/04(月) 12:09:05.74ID:0Cy5iXrvr
回答者はすぐマウントとってくるしな
>>882みたいな質問者なのにマウント取ってくる意味わからんやつもいるし
能力低すぎとか、われわれのような複雑な~って頭おかしすぎるだろ
905デフォルトの名無しさん (スプッッ Sdaa-CsJ7)
垢版 |
2022/07/04(月) 13:01:53.71ID:OO2ZWbG3d
>>904
それ、しつこくForがどうのと聞いていた例のあいつだから
2022/07/04(月) 16:21:37.95ID:vF9E34H30
>われわれのように

うん。われわれって誰?
脳内でしょ恐らく

ふつーよ、自分から複雑な事やっていますアピールとかするかぁ??
もしかして釣られているのか俺ら
2022/07/04(月) 16:28:28.96ID:g5E8ZW1ad
決まった様式のExcelファイルがあって、それを見やすく加工するマクロを組んで自信で使ってた際に、それを部内に展開したいってなった場合どう配布するのが正解なんだろう。
使う人はマクロの知識は全くないものとして。

1.xlamにして配布
アドインの設定をしてあげる必要がある。
使用頻度の低い人にアドインを入れるメリットが薄い。

2.マクロだけ入れたxlsmを配布
加工したいxlsxファイルと同時に開いてもらってマクロを実行してもらう。
手間が増える。

3.VBSに書き換えて配布
書き換えが面倒。

4.VBSとxlsmを配布してVBS実行でxlsm起動とマクロ実行
処理に時間がかかりそう。

使用頻度の高くないマクロをアドインとして登録するのは起動時間のロスになりそうだから避けたいんだけど、他の人に特定のマクロを手軽に実行させるのはどういう方法がいいだろうか?
908デフォルトの名無しさん (ワッチョイ 035f-auNL)
垢版 |
2022/07/04(月) 17:17:05.04ID:CvyJwule0
>>907
> 2.マクロだけ入れたxlsmを配布
> 加工したいxlsxファイルと同時に開いてもらってマクロを実行してもらう。
> 手間が増える。

これでいい。手間って配布の手間のこと?
共有サーバーのどっか特定の場所に読み取り専用にしたxlsmファイル置いといて
ここのマクロファイル使って作業してくれって告知だけすればいい
不具合が見つかって修正した場合も同名ファイルで上書きするだけだから楽だと思うよ
2022/07/04(月) 17:57:33.89ID:oo1ug/2UD
俺は上書き保存が怖いので.xltmを渡してる
2022/07/04(月) 18:50:46.28ID:tF6z07pca
>>909
リードオンリーで開くにしとけばいいだけじゃね?
2022/07/04(月) 19:05:52.33ID:g5E8ZW1ad
>>908
Excelファイル2つ開いてマクロ実行して閉じるっていうのが操作的に手間かなと思ったけど、共有フォルダに置いといてそれを開いて使ってもらうのは無難に使いやすそう。ありがとう。

後出しで申し訳ないんだけど、うちの会社のPCがウイルス対策だとかで毎日起動時にマクロ有効化設定を強制オフ(有効化メッセージ出ずにオフになるやつ)にされるせいで、トラストセンターから毎日有効化設定してね、っていう雑な仕組みになってるんだ。
自身は設定オンにするVBSなりbatで対応してるけど、他の人だとExcel開いてトラストセンターで設定変更の事前動作も必要に。

アドインやVBSなら有効化しなくても動作するんだけど、そうなるとドラッグドロップで動作するVBSだと使う側の手間は省けるだろうか。
2022/07/04(月) 19:58:33.04ID:Ujf5qvvVd
1. xlsmを共有フォルダに保存
2. 読み取り専用で開く
3. xlsm上の別シートに出力結果をVBAで作成
4. 出力結果シートを新規ブックにVBAで移動 (ws.move)
5. 新規ブックをダイアログボックスで保存させる


毎回これでやってる
913デフォルトの名無しさん (ワッチョイ 035f-auNL)
垢版 |
2022/07/04(月) 22:40:20.14ID:CvyJwule0
>>911
この環境下でも
(セキュリティを無効化して対象のxlsmを開く)VBSなりbatファイルの実体を共有に置いて
そのショートカットだけを配布がベストだと思う

> ドラッグドロップで動作するVBSだと使う側の手間は省けるだろうか
組織内のユーザーのリテラシーにもよるけど、
xlsmでもWorkbook_Openで即ファイルピックアップダイアログ開かせれば大差ないし、
なにより保守がしんどいでしょ

もし複雑な加工内容への変更依頼がきたら?
あるいは今後別のマクロの作成依頼が来て、それもすべてVBSで配布しろと言われるかもしれない

VBEもIDEとしてはアレだけど、
ブレークポイント置けないDebug系メソッドないモジュール分割気軽にできないVBSで開発し続けるの何倍も大変だと思うよ
2022/07/05(火) 01:05:42.67ID:jbzqjuV/a
>>912
> 3. xlsm上の別シートに出力結果をVBAで作成
> 4. 出力結果シートを新規ブックにVBAで移動 (ws.move)
新規ブック作ってそこのシートに直接結果を出力した方が楽じゃね?
2022/07/05(火) 07:41:15.60ID:HXH2KDmV0
>>907
VBSを配布して、そこに処理対象ファイルをドラッグドロップしてもらうのが、ユーザ側としては1操作で完結して使いやすいと思う
ユーザに慣れない操作を押し付けて手間を増やしたら本末転倒だしね

ところで「加工」て何するの?
大部分が編集不可の共有ひな型ブックならともかく、人間が好き勝手にいじったブック中から「加工」対象を特定するのは大変だろ
2022/07/05(火) 08:39:26.47ID:ZlAE1xYZd
別にVBSにこだわる必要は無い
Powershell でも良いでしょ
2022/07/05(火) 09:04:16.75ID:MtIzSAoXd
>>915
加工についても恥ずかしながら前スレで相談させてもらって一応解決することができました。
・web上からDL出来る名簿がpdf
・pdfをacrobatでexcel変換するとセル位置や結合が不揃い
・目的は名簿データをそれぞれ横一列のデータにしたい

vbaにて処理は出来るようになったけど、他の人が使いたいという意見があり、今回配布手段についてご相談させてもらった次第です。
https://i.imgur.com/XgHnIpg.png
https://i.imgur.com/cXouZTg.png
2022/07/05(火) 09:33:47.87ID:gxzY68gk0
・WebからDLするドキュメントをCSVにでもしてもらえるよう社内調整する
が一番ラクで確か
2022/07/05(火) 11:30:39.29ID:X6XwWL+o0
最近、Alt+F11でVBEを開くと、アドインのコードが表示されるようになったんだけど、
仕様が変わったのか、表示されるような設定にしてしまったのか。。
皆さんは表示されますか?
920デフォルトの名無しさん (アウアウウー Sacf-gU6j)
垢版 |
2022/07/05(火) 11:43:19.49ID:QxOevurCa
上の人間の指示通りにするので悩まない
2022/07/05(火) 11:57:42.97ID:Fkl5GJtU0
>>919
されますよ。
2022/07/05(火) 12:00:27.76ID:X6XwWL+o0
>>921
毎回アドインのコードが表示されているウィンドウを閉じていますか?
それとも、どこかの設定を変更すると表示されなくなりますか?
2022/07/05(火) 12:47:27.21ID:HXH2KDmV0
>>917
成程。流れ見てないけど、ここにマトモに助けてくれる人がいるというのは意外(失礼w)
acrobatによるpdfのexcel変換過程で色んな気まぐれ要素によりフォーマットが乱れそうな予感がするが、それを吸収するコーディング努力の継続こそスキル上達の早道
頑張って下さい
2022/07/05(火) 19:57:34.88ID:Fkl5GJtU0
>>922
スマン、何かの設定いじったら直った記憶
覚えてなくてすまん
2022/07/06(水) 18:47:05.73ID:8WsZe39w0
ちんぽじ
2022/07/06(水) 19:59:54.47ID:D5LMB4PC0
2023でるかもね
2022/07/06(水) 21:31:49.12ID:RzEtlOC+0
VBAxSeleniumでchromeはオプション設定が出来るけどedgeは出来ないと思ってたんだが、出来るんだな。
ネットでもうまくいかないていう情報が多い。

Chromeの場合
Driver.AddArgument ("user-data-dir=" & fso.BuildPath(CurrentDirectory, "chrome_vba"))

Edgeの場合
driver.SetCapability "ms:edgeOptions", "{""args"": [""user-data-dir=" & Replace(fso.BuildPath(CurrentDirectory, "edge_vba"), "\", "\\") & """" & _
"] }"

まあjsonで渡してるんだが、VBAてjsonてこんな風にデータベタ打ちしか方法がない?
2022/07/08(金) 15:51:01.23ID:vIJsrl8u0
ダウンロードしたVBAマクロ入りファイル、デフォルト無効化が取り消し。MicrosoftがOfficeの仕様を再度変更
https://pc.watch.impress.co.jp/docs/news/1423419.html
2022/07/10(日) 15:06:01.33ID:TbXhrDsy0
えぇ((( ;゚Д゚)))恐い
2022/07/10(日) 16:22:28.20ID:Rxyi1Cuq0
ダウンロードして使うことがないからどっちてもええよ
2022/07/11(月) 01:16:29.22ID:TTL+d6j7a
コロコロ変わるのは昔から
また変更あるぞ
932デフォルトの名無しさん (ワッチョイ cd5f-3+7c)
垢版 |
2022/07/11(月) 01:40:13.99ID:vt1vW9IA0
インターネット経由がどうたらというのは、古いマイクロソフトと新しいマイクロソフトの内部抗争にすぎない。
2022/07/11(月) 04:21:24.13ID:/TJLjZUe0
ああゆう最先端の企業でも老害が威張り散らしているのかな
934デフォルトの名無しさん (ワッチョイ cd5f-3+7c)
垢版 |
2022/07/11(月) 04:31:29.20ID:vt1vW9IA0
ビルゲイツ派はAzue妨害派だろうな
2022/07/11(月) 09:41:27.04ID:67sTwPgvM
大口の客がゴネたんだろう
VBAがいつまでも使えるのもそういう方々のお陰なのだからVBAer達は感謝しないと
2022/07/11(月) 18:14:40.24ID:/TJLjZUe0
分かったよ
2022/07/13(水) 15:11:11.33ID:cdOR/i1g0
客先から毎日送られてくるpdfに対し、特定の部分だけを抜いてexcelに出すというものを作りたいです

流れとしてはwordで開いてコピペ→そこから必要な部分だけ整形
という流れで考えており概ねできたのですが、pdfをwordに落とした時に文章がそのまま文章でコピーされる時と1行ずつテキストボックスやら画像やらでコピーされる時がありうまく実用化出来ません

上記か、あるいはその他の方法でも良いので安定的にコピーする方法は無いでしょうか?

ちなみにpdfは定型フォーマットに記載された日報のような形式で、手動なら文字はそのままコピペできます、フォーマットはいつも同じですが中の文章は行数が日により異なります
938デフォルトの名無しさん (ワッチョイ cb8e-iSZE)
垢版 |
2022/07/13(水) 17:04:46.28ID:+TgcJMJe0
>>937
客先にテキストでもくれと依頼すればいいだろ
939デフォルトの名無しさん (アウアウウー Sa09-2HoA)
垢版 |
2022/07/13(水) 17:32:17.47ID:H0DndFW/a
pdfを書き換えたい訳じゃなくて中身を読みたいだけなら
pdfreaderを使うのが一番楽
2022/07/13(水) 18:07:17.76ID:jvbf7mTW0
PDFは人間のため、印刷のために開発された仕組み
データの順番がどんだけ変わっても人間の目には同じに見えるようになってるから、中身をプログラムで自動的に取り出すのには向いてない

厳密には不可能じゃないとしても、ものすごく大変
できるだけ別の方法を考えた方がいい
2022/07/13(水) 18:39:04.67ID:tqig4XWpd
そのPDFが紙からスキャンしたものじゃなく文字データとして残ってるなら、ワード経由しなくてもacrobatreaderで開いてコピペするのが早いとは思う。

PDFをExcelに変換する手段があるなら、変換してマクロで必要な所を抽出できそうだけど元ファイル次第では難しいか?
2022/07/13(水) 19:16:11.37ID:RAwbutPOM
GOOGLEドライブに入れてドキュメントで開けばOCR使えるからそれを試してみては
2022/07/13(水) 19:23:52.41ID:F58RRgFgM
pdfってhtmlのようなテキストだったりする、意外と知られていない?
2022/07/13(水) 19:30:34.74ID:XpRrYrAX0
>>937
パワークエリ
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況