[過去ログ]
Excel VBA 質問スレ Part68 (1002レス)
Excel VBA 質問スレ Part68 http://mevius.5ch.net/test/read.cgi/tech/1598756127/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
497: デフォルトの名無しさん (ワッチョイ 1b63-dHQN) [sage] 2020/10/07(水) 21:08:37 ID:FTOZLATq0 申し訳ありません、もう一点 A1:私は実は理学部出身 A2:の元々は地質学者です A3: A4:こうした南鳥島で A5: A6:レアアースの濃集が A7:起こる A8: A9:というのは A10: A11:特徴的な層準に ↓ A1:私は実は理学部出身 の元々は地質学者です A2:こうした南鳥島で A3:レアアースの濃集が 起こる A4:というのは A5:特徴的な層準に 下の行に文字列 → 2行の文章として、改行を入れてExcelの1マスにまとめる 下の行が空白 → 1行の文書なのでそのまま これをなんとかVBAで自動化したいのですが記述を教示願えますでしょうか 面白くない質問ですみません… http://mevius.5ch.net/test/read.cgi/tech/1598756127/497
498: デフォルトの名無しさん (ワッチョイ 9f7c-eFyE) [sage] 2020/10/07(水) 21:11:26 ID:JTTOzasI0 >>497 その条件2つそのままコードに直していけるよ http://mevius.5ch.net/test/read.cgi/tech/1598756127/498
499: デフォルトの名無しさん (ワッチョイ cbda-xYNh) [sage] 2020/10/07(水) 21:17:21 ID:ueKkqa210 改行がLfなのかCrなのかCrLfなのか知らんが Replace("改行入りの文字列", vbLf, "") http://mevius.5ch.net/test/read.cgi/tech/1598756127/499
500: デフォルトの名無しさん (ワッチョイ 9f7c-eFyE) [sage] 2020/10/07(水) 21:58:27 ID:JTTOzasI0 >>499 そんなことしたら改行しなくなるが… http://mevius.5ch.net/test/read.cgi/tech/1598756127/500
501: デフォルトの名無しさん (ワッチョイ ca6d-zMau) [] 2020/10/07(水) 22:16:39 ID:XaxSLEYL0 いつものクレクレ君かな http://mevius.5ch.net/test/read.cgi/tech/1598756127/501
502: デフォルトの名無しさん (ワントンキン MM3a-pCej) [sage] 2020/10/07(水) 22:51:28 ID:7uT04k8fM ・コードを要求 ・追加で教えて いつもの人だね http://mevius.5ch.net/test/read.cgi/tech/1598756127/502
503: デフォルトの名無しさん (ワッチョイ 8ae6-KV+F) [sage] 2020/10/07(水) 22:54:48 ID:8t5FIA980 普通に書けばできることを聞く意味が分からん もしかして書けないの? 書けないならやめればいいのに http://mevius.5ch.net/test/read.cgi/tech/1598756127/503
504: デフォルトの名無しさん (ドコグロ MM02-dHQN) [sage] 2020/10/07(水) 22:56:25 ID:Az9cGqg8M >>498 >>499 ありがとうございますm(__)m http://mevius.5ch.net/test/read.cgi/tech/1598756127/504
505: デフォルトの名無しさん (ワッチョイ 67da-xYNh) [sage] 2020/10/08(木) 01:49:40 ID:584FeZ4r0 >>497 VBAに慣れている人なら簡単に自動化というかVBAで組める内容ではある 問題はこの程度の内容を質問するより先に、自力でできるとこまで自分で やらなかった最初の一歩が間違っているんだと思う http://mevius.5ch.net/test/read.cgi/tech/1598756127/505
506: デフォルトの名無しさん (アウアウウー Sa2f-J9E+) [sage] 2020/10/08(木) 09:04:33 ID:BqKPxLQJa CSVとして保存 VSCode等のまともなエディタで開く ([^¥r]+)¥r¥n([^¥r]+)を”$1¥r¥n$2”に置換 ¥r¥n¥r¥nを¥r¥nに置換 Excelにインポート >>492同様にワンショットでいいならこんな感じでいけるんじゃね http://mevius.5ch.net/test/read.cgi/tech/1598756127/506
507: デフォルトの名無しさん (ワッチョイ 67da-tQNK) [sage] 2020/10/08(木) 14:32:22 ID:584FeZ4r0 それができないのが初心者 http://mevius.5ch.net/test/read.cgi/tech/1598756127/507
508: デフォルトの名無しさん (ブーイモ MM76-HnI9) [sage] 2020/10/08(木) 15:37:32 ID:d1cy1ieUM クレクレ君のより煽ってる奴のがうざいんだけどね VBAだけが人並にできるからこのスレにいつも欠かさず覗きにきてる感じか? いつものお前が邪魔ですよお http://mevius.5ch.net/test/read.cgi/tech/1598756127/508
509: デフォルトの名無しさん (ワッチョイ 0668-xYNh) [sage] 2020/10/08(木) 15:59:16 ID:btiqMG+Y0 >>508 大丈夫スルーしてるから 遠まわしでも構うと同列に http://mevius.5ch.net/test/read.cgi/tech/1598756127/509
510: デフォルトの名無しさん (ワントンキン MM3a-R/IE) [sage] 2020/10/08(木) 17:05:05 ID:+6fedHspM >>508 くれくれ君本人乙 http://mevius.5ch.net/test/read.cgi/tech/1598756127/510
511: デフォルトの名無しさん (ワッチョイ 9f7c-eFyE) [sage] 2020/10/08(木) 19:30:11 ID:bwT1M8vM0 >>507 できないことは問題じゃない やろうとしないことが問題 http://mevius.5ch.net/test/read.cgi/tech/1598756127/511
512: デフォルトの名無しさん (ワッチョイ 1b63-dHQN) [sage] 2020/10/08(木) 19:55:49 ID:YPYO8uSI0 たしかにやろうとしないことが問題 てのは御指摘のとおりですね。すみません。 映像制作を生業としてますが普段tipsを聞くのりで聞いてしまいました。 http://mevius.5ch.net/test/read.cgi/tech/1598756127/512
513: デフォルトの名無しさん (ワッチョイ ca4f-+ixC) [sage] 2020/10/08(木) 20:04:37 ID:KjDVO4Tm0 >>512 5chなんて便所の落書きなんだからそれでいいと思う。 ただ、まともな返事を期待して馬鹿を見ても仕方ない場所でもあるけれど。 http://mevius.5ch.net/test/read.cgi/tech/1598756127/513
514: デフォルトの名無しさん (スフッ Sdea-gn5F) [sage] 2020/10/08(木) 21:04:52 ID:DcpygGCOd ただでさえ印象悪いのにどうでもいい言い訳まで付けてさらに印象悪くするよくあるパターン http://mevius.5ch.net/test/read.cgi/tech/1598756127/514
515: デフォルトの名無しさん (ワッチョイ 6bda-q18j) [] 2020/10/09(金) 00:24:11 ID:t8qEIjmh0 Dim dw As Date Dim i As Integer Sub test() 'ランダムに並び替える Randomize '乱数を入れる For i = 1 To 200 Cells(i, 2) = Rnd() Next i '乱数で昇順並び替え Range("A1:B200").Sort _ Key1:=Range("B1"), Order1:=xlAscending, _ Header:=xlNo, _ OrderCustom:=1, _ MatchCase:=False, _ Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin '乱数を削除 Range("B1:B200").Clear dw = DateAdd("S", 5, Now) Application.OnTime dw, "test" End Sub http://mevius.5ch.net/test/read.cgi/tech/1598756127/515
516: デフォルトの名無しさん (ワッチョイ 6bda-q18j) [] 2020/10/09(金) 00:26:14 ID:t8qEIjmh0 >>515 のdw = DateAdd("S", 5, Now) Application.OnTime dw, "test" を入れると、 「実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」 となってしまいます。 「マクロのセキュリティ」は「すべて有効」にしています。 どうすればいいでしょうか http://mevius.5ch.net/test/read.cgi/tech/1598756127/516
517: デフォルトの名無しさん (ワッチョイ 4a2f-Dl/i) [sage] 2020/10/09(金) 00:56:17 ID:8xBy2vBw0 >>516 そのプロシジャを標準モジュールに書く CellsとかRangeとか、ちゃんとシート指定しといたほうが良いぞ http://mevius.5ch.net/test/read.cgi/tech/1598756127/517
518: デフォルトの名無しさん (ワッチョイ 6bda-q18j) [] 2020/10/09(金) 01:28:40 ID:t8qEIjmh0 >>517 できました! >CellsとかRangeとか、ちゃんとシート指定しといたほうが良いぞ わかりました ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1598756127/518
519: デフォルトの名無しさん (ワッチョイ 0f41-ICsZ) [sage] 2020/10/09(金) 16:14:30 ID:SmS5zjtB0 1,1,2,2,3,4,4,4,5,6 を 1-1,1-2,2-1,2-2,3,4-1,4-2,4-3,5,6 に変換したいのですが、どういうコード書けばよいのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1598756127/519
520: デフォルトの名無しさん (ワッチョイ 4aad-YPNF) [sage] 2020/10/09(金) 16:19:59 ID:5DciVe+j0 連想配列使ってカウントするか(0 to 対象の値のMax)の配列を用意して、Array(対象の値)にカウントするかが1番頭使わなくて済むかな? http://mevius.5ch.net/test/read.cgi/tech/1598756127/520
521: デフォルトの名無しさん (ブーイモ MM76-HnI9) [sage] 2020/10/09(金) 16:55:39 ID:9cfuJ5OLM かなり前だけどこのスレで教わったアドバイスが今やってることでピンときた タブ増やして進めてくより userformをhideとshowで工程進めてくみたいにしたほうがいいわ ありがとうかなり前に教えてくれた人! http://mevius.5ch.net/test/read.cgi/tech/1598756127/521
522: デフォルトの名無しさん (アウアウウー Sa2f-5jeW) [sage] 2020/10/09(金) 17:52:44 ID:OU1KT8YFa >>519 fori=1 to 要素数(※要素数はカンマで区切られた数) 数字=数字 & “-” & i next i みたいな感じで 前の数字と違ったら数字をリセット (iが1ならこの処理はしない) 要素がひとつなら処理せず次のiに http://mevius.5ch.net/test/read.cgi/tech/1598756127/522
523: デフォルトの名無しさん (ワッチョイ 2a4b-XTxo) [sage] 2020/10/09(金) 18:03:17 ID:klvVBjUq0 next i って書く人嫌い http://mevius.5ch.net/test/read.cgi/tech/1598756127/523
524: デフォルトの名無しさん (ササクッテロ Sp03-+ixC) [sage] 2020/10/09(金) 18:15:01 ID:FzRk+nqKp かなり前の話と言えば 昔Privateで書かれたプロパティを 外部から取得する方法を書いてた人がいたけど あれどうやるんだったっけ http://mevius.5ch.net/test/read.cgi/tech/1598756127/524
525: デフォルトの名無しさん (ワッチョイ 03e5-SfJD) [] 2020/10/09(金) 18:33:13 ID:/2wG1kS20 内部から漏洩させるのが確実 http://mevius.5ch.net/test/read.cgi/tech/1598756127/525
526: デフォルトの名無しさん (ワッチョイ 03e5-SfJD) [] 2020/10/09(金) 18:36:07 ID:/2wG1kS20 >>523 それ以前にまったく要望を満たしていない http://mevius.5ch.net/test/read.cgi/tech/1598756127/526
527: デフォルトの名無しさん (スプッッ Sd8a-Kms5) [sage] 2020/10/09(金) 21:13:45 ID:hr48HmJ4d >>517 俺はブックも必ず指定するけどね。 http://mevius.5ch.net/test/read.cgi/tech/1598756127/527
528: デフォルトの名無しさん (スプッッ Sd8a-Kms5) [sage] 2020/10/09(金) 21:15:25 ID:hr48HmJ4d >>519 どうしたいのかもう少し言葉で説明してくれる? http://mevius.5ch.net/test/read.cgi/tech/1598756127/528
529: デフォルトの名無しさん (ワッチョイ cbda-xYNh) [sage] 2020/10/09(金) 21:41:09 ID:KqgB0xuS0 >>519 普通にカウントアップして、1から2に、2から3に上がるときにカウンターリセット。 http://mevius.5ch.net/test/read.cgi/tech/1598756127/529
530: デフォルトの名無しさん (ワッチョイ 07ce-KV+F) [sage] 2020/10/09(金) 21:44:54 ID:VcvC9Dp/0 1つしかなかった時に連番を付けない処理が一手間多くて面倒 データの先読みが必要になる http://mevius.5ch.net/test/read.cgi/tech/1598756127/530
531: デフォルトの名無しさん (ワッチョイ 0668-xYNh) [sage] 2020/10/09(金) 21:49:11 ID:5R2Ih+qA0 出力タイミングを次の数字を見てからにすれば楽 http://mevius.5ch.net/test/read.cgi/tech/1598756127/531
532: デフォルトの名無しさん (ワッチョイ 9f7c-eFyE) [sage] 2020/10/09(金) 21:49:18 ID:2P2kQgrz0 1個でも複数でも変わらない おかしな考え方してるんだろう http://mevius.5ch.net/test/read.cgi/tech/1598756127/532
533: デフォルトの名無しさん (ワッチョイ 8ae6-SfJD) [] 2020/10/09(金) 21:49:40 ID:hWEYACMU0 >>528 1.処理速度 2.低コスト 3.低ステップ 4.読みやすさ 優先順位はとりあえずこんな感じで頼むわ http://mevius.5ch.net/test/read.cgi/tech/1598756127/533
534: デフォルトの名無しさん (ワッチョイ 07ce-KV+F) [sage] 2020/10/09(金) 22:02:55 ID:VcvC9Dp/0 次の数字を見るかどうかの所で配列の最後かどうかも判定する必要があって面倒 シンプルでうまい方法があるんなら言葉じゃなくてコードで答えてくれ http://mevius.5ch.net/test/read.cgi/tech/1598756127/534
535: デフォルトの名無しさん (ワッチョイ 0b3d-5jeW) [sage] 2020/10/09(金) 22:06:14 ID:rNmj4HJx0 splitでカンマ区切りの配列化 instrで個数確認 かね? http://mevius.5ch.net/test/read.cgi/tech/1598756127/535
536: デフォルトの名無しさん (ワッチョイ 0b3d-5jeW) [sage] 2020/10/09(金) 22:07:17 ID:rNmj4HJx0 >>534 Uboundで判定して抜ければいいじゃん http://mevius.5ch.net/test/read.cgi/tech/1598756127/536
537: デフォルトの名無しさん (ワッチョイ 07ce-KV+F) [sage] 2020/10/09(金) 22:19:01 ID:VcvC9Dp/0 >>536 ちゃんと動くコード書いてみて http://mevius.5ch.net/test/read.cgi/tech/1598756127/537
538: デフォルトの名無しさん (ワッチョイ 07ce-KV+F) [sage] 2020/10/09(金) 22:24:25 ID:VcvC9Dp/0 Sub Macro1() Dim a(), b() a = Array(1, 1, 2, 2, 3, 4, 4, 4, 5, 6) u = UBound(a) ReDim Preserve a(u + 1) ReDim b(u) a(u + 1) = a(u) + 1 x = a(0) + 1 For i = 0 To u If a(i) - x Then c = 1 Else c = c + 1 End If If c = 1 Then b(i) = a(i) If a(i) = a(i + 1) And u - i Then b(i) = b(i) & "-1" Else b(i) = a(i) & "-" & c End If x = a(i) Next Debug.Print Join(b, ",") End Sub http://mevius.5ch.net/test/read.cgi/tech/1598756127/538
539: デフォルトの名無しさん (ワッチョイ 07ce-KV+F) [sage] 2020/10/09(金) 22:47:08 ID:VcvC9Dp/0 これよりシンプルにするのは俺には無理だった Sub Macro1() Dim a$(), b() a = Split("1,1,2,2,3,4,4,4,5,6", ",") u = UBound(a) ReDim Preserve a(u + 1) ReDim b(u) a(u + 1) = a(u) + 1 x = a(0) + 1 For i = 0 To u b(i) = a(i) c = c + 1 If a(i) - x Then c = 1 If (c > 1) + (c = 1) * (a(i) = a(i + 1)) * (u - i) Then b(i) = b(i) & "-" & c x = a(i) Next Debug.Print Join(b, ",") End Sub http://mevius.5ch.net/test/read.cgi/tech/1598756127/539
540: デフォルトの名無しさん (ワッチョイ 07ce-KV+F) [sage] 2020/10/09(金) 23:08:21 ID:VcvC9Dp/0 b(i) = b(i) & "-" & c ↓ b(i) = b(i) & -c http://mevius.5ch.net/test/read.cgi/tech/1598756127/540
541: デフォルトの名無しさん (ワッチョイ 672c-Dl/i) [sage] 2020/10/09(金) 23:19:19 ID:760t1BpC0 プログラミングのお題スレにも、たまにあるけど、 次の要素を先読みするのは面倒 スタックのpeek みたいに、要素を読み取るだけで、削除しない関数があればよい http://mevius.5ch.net/test/read.cgi/tech/1598756127/541
542: デフォルトの名無しさん (ワッチョイ 672c-Dl/i) [sage] 2020/10/10(土) 06:22:18 ID:BjcbKuib0 Ruby では、 # 一旦、整数の2次元配列にする。[[1, 1], [2, 2], [3], [4, 4, 4], [5], [6]] result_ary = input_ary = "1,1,2,2,3,4,4,4,5,6".split( "," ). chunk_while{ |prev, nxt| prev == nxt }.each_with_object( [ ] ) do |ary, acc| # 蓄積変数は配列 if ary.length == 1 acc.push( ary[ 0 ] ) else ary.each_with_index do |num, idx| acc.push( "#{ num }-#{ idx + 1 }" ) end end end puts result_ary.to_a.join( "," ) # カンマ区切り http://mevius.5ch.net/test/read.cgi/tech/1598756127/542
543: 542 (ワッチョイ 672c-Dl/i) [sage] 2020/10/10(土) 06:24:55 ID:BjcbKuib0 >>542 修正 ># 一旦、整数の2次元配列にする。[[1, 1], [2, 2], [3], [4, 4, 4], [5], [6]] 一旦、文字列の2次元配列にする http://mevius.5ch.net/test/read.cgi/tech/1598756127/543
544: 542 (ワッチョイ 672c-Dl/i) [sage] 2020/10/10(土) 06:29:37 ID:BjcbKuib0 >>542 修正 >result_ary = input_ary = "1,1,2,2,3,4,4,4,5,6".split( "," ). result_ary = "1,1,2,2,3,4,4,4,5,6".split( "," ). http://mevius.5ch.net/test/read.cgi/tech/1598756127/544
545: デフォルトの名無しさん (ワッチョイ 07ce-KV+F) [sage] 2020/10/10(土) 06:39:31 ID:WLqCacU70 データの種類が少なければ連想配列 http://mevius.5ch.net/test/read.cgi/tech/1598756127/545
546: デフォルトの名無しさん (ワッチョイ 0668-xYNh) [sage] 2020/10/10(土) 09:37:35 ID:ejDp+I1j0 先読みって考えるから面倒なのでは? 後出しって考えればいいのでは? http://mevius.5ch.net/test/read.cgi/tech/1598756127/546
547: デフォルトの名無しさん (ワッチョイ ca01-yf4V) [sage] 2020/10/10(土) 09:43:21 ID:VjEh1Ow80 てかあの程度の仕様なら自分で書けよって思う あれぐらいで書けないってのは根本的にプログラミングの基礎分かってないでしょ forとifで一度自分で書いてみろと http://mevius.5ch.net/test/read.cgi/tech/1598756127/547
548: デフォルトの名無しさん (ワッチョイ 9f7c-eFyE) [sage] 2020/10/10(土) 11:33:09 ID:ZZ8h2+k60 書く気が無いからコードくれと言ってるんじゃないの http://mevius.5ch.net/test/read.cgi/tech/1598756127/548
549: デフォルトの名無しさん (ワントンキン MM3a-R/IE) [sage] 2020/10/10(土) 12:12:33 ID:PwUkT7dUM いつものあいつでしょ http://mevius.5ch.net/test/read.cgi/tech/1598756127/549
550: デフォルトの名無しさん (ワッチョイ 0332-HnI9) [sage] 2020/10/10(土) 14:51:13 ID:l6OboMxr0 書けない奴「いつもあいつでしょ」 http://mevius.5ch.net/test/read.cgi/tech/1598756127/550
551: デフォルトの名無しさん (ワントンキン MM3a-R/IE) [sage] 2020/10/10(土) 15:12:08 ID:PwUkT7dUM 煽って自演のいつもの馬鹿 http://mevius.5ch.net/test/read.cgi/tech/1598756127/551
552: デフォルトの名無しさん (ワッチョイ 0332-HnI9) [sage] 2020/10/10(土) 15:36:01 ID:l6OboMxr0 おじさん「煽ってなんちゃら」 http://mevius.5ch.net/test/read.cgi/tech/1598756127/552
553: デフォルトの名無しさん (ラクッペペ MM86-SfJD) [] 2020/10/10(土) 15:38:43 ID:VaQE37nUM バグってハニー http://mevius.5ch.net/test/read.cgi/tech/1598756127/553
554: デフォルトの名無しさん (ワントンキン MM3a-pCej) [sage] 2020/10/10(土) 17:43:29 ID:aEE68DdLM いつものあいつ確定 http://mevius.5ch.net/test/read.cgi/tech/1598756127/554
555: 542 (ワッチョイ 672c-JAxH) [sage] 2020/10/10(土) 22:30:05 ID:BjcbKuib0 データベース変換などは、Ruby のEnumerable のメソッドを見て、 シェル芸とか、プログラミングのお題スレの問題を解いた方がよい VBA は可読性が悪すぎて、作っても再利用できない。 OSS で全会社共通で、RubyのEnumerable 相当のメソッドを作って公開するべき! 他言語ではたいてい、Rubyと等価のメソッドを作る http://mevius.5ch.net/test/read.cgi/tech/1598756127/555
556: 542 (ワッチョイ 672c-JAxH) [sage] 2020/10/10(土) 22:31:31 ID:BjcbKuib0 >>555 修正 >データベース変換などは データ変換などは http://mevius.5ch.net/test/read.cgi/tech/1598756127/556
557: デフォルトの名無しさん (ワッチョイ ca4f-+ixC) [sage] 2020/10/11(日) 00:52:32 ID:l/QRoUUr0 >>555 布教活動ご苦労さん 必要になったら勝手にRubyスレに行くから 帰っていいよ http://mevius.5ch.net/test/read.cgi/tech/1598756127/557
558: デフォルトの名無しさん (ワッチョイ b301-NY7j) [sage] 2020/10/11(日) 08:15:59 ID:qzIChT2z0 >>555 データ変換てのは基本的な作法さえ知ってればEnumerableメソッド使わなくても特に困ることもないだろう ただのループ構造をこねくり回してるだけでそのためにメソッドを割り当てるなんてお仕着せもいいところ http://mevius.5ch.net/test/read.cgi/tech/1598756127/558
559: デフォルトの名無しさん (ワッチョイ ca01-d5Pu) [sage] 2020/10/11(日) 10:01:12 ID:QZ/HZvxF0 >>557-558 なぜ相手するんだ… http://mevius.5ch.net/test/read.cgi/tech/1598756127/559
560: デフォルトの名無しさん (ワッチョイ 6b63-JAxH) [] 2020/10/11(日) 12:29:43 ID:lH9sVzvl0 Acrobatを使用したプログラムを複数回実行すると初回だけ成功し 2回目以降は 実行時エラー2147467259(80004005) エラーを特定できません となります(idに代入する行でエラー) 終了処理に不備があってacrobatのプロセスが残っているのではと思いましたが 色々なサイトを見ても解決がわからない状態です。 どうすれば治りますか。 プログラムは次のレスを参照ください。 http://mevius.5ch.net/test/read.cgi/tech/1598756127/560
561: デフォルトの名無しさん (ワッチョイ 6b63-JAxH) [] 2020/10/11(日) 12:30:03 ID:lH9sVzvl0 Dim objAcroApp As New Acrobat.AcroApp Dim objAcroAVDoc As New Acrobat.AcroAVDoc Dim objAcroPDDoc As New Acrobat.AcroPDDoc Dim id As Long Dim js As Object Dim SaveName As String id = objAcroApp.Show id = objAcroAVDoc.Open(FilePath, "") Set objAcroPDDoc = objAcroAVDoc.GetPDDoc() Set js = objAcroPDDoc.GetJSObject SaveName = FolderPath & "\" & Replace(FileName, ".pdf", "") '変換のうえテキストファイルとして保存 js.SaveAs SaveName & ".txt", "com.adobe.acrobat.plain-text" 'PDFファイルを変更無しで閉じる id = objAcroAVDoc.Close(1) 'Acrobatアプリケーションを終了する。 id = objAcroApp.Hide id = objAcroApp.Exit Set js = Nothing Set objAcroAVDoc = Nothing Set objAcroApp = Nothing http://mevius.5ch.net/test/read.cgi/tech/1598756127/561
562: デフォルトの名無しさん (ワッチョイ cbda-xYNh) [sage] 2020/10/11(日) 18:37:51 ID:7Qx+aWsY0 どこだか忘れたけど、閉じる・解放はこの順番じゃないとダメって書いてあるサイトがあったぞ。 http://mevius.5ch.net/test/read.cgi/tech/1598756127/562
563: デフォルトの名無しさん (ワッチョイ 07ce-KV+F) [sage] 2020/10/11(日) 20:12:54 ID:WEczn1o20 オブジェクト型にNothingを代入しても、参照ポインタが書き換わるだけでメモリが解放されるわけじゃないんで、順序はそれほど重要じゃない http://mevius.5ch.net/test/read.cgi/tech/1598756127/563
564: デフォルトの名無しさん (ワッチョイ 67da-xYNh) [sage] 2020/10/11(日) 21:39:34 ID:CPiGYYUg0 >>560 必ず再現するなら同じ現象が発生する最小のコードを作ってみ http://mevius.5ch.net/test/read.cgi/tech/1598756127/564
565: デフォルトの名無しさん (ワッチョイ 4a2f-JAxH) [sage] 2020/10/11(日) 23:29:10 ID:gmCwGThW0 >>561 とりあえずDimでNewするのやめて様子見てみ http://mevius.5ch.net/test/read.cgi/tech/1598756127/565
566: デフォルトの名無しさん (ワッチョイ 6f5f-e5Pm) [] 2020/10/12(月) 01:35:39 ID:EUVfONAL0 どうやって再度、実行できているのか? 仕事ができない人がよく言う説明。 http://mevius.5ch.net/test/read.cgi/tech/1598756127/566
567: デフォルトの名無しさん (ワッチョイ 672c-JAxH) [sage] 2020/10/12(月) 08:27:00 ID:CsRHImZw0 >>560 タスクマネージャーを起動して、プロセスを終了させてから、実行すれば? http://mevius.5ch.net/test/read.cgi/tech/1598756127/567
568: デフォルトの名無しさん (ラクッペペ MM86-SfJD) [] 2020/10/12(月) 10:12:47 ID:5eYbb8SbM アクロバットがすぐに終了しないのは体感でも分かるレベル http://mevius.5ch.net/test/read.cgi/tech/1598756127/568
569: デフォルトの名無しさん (ワッチョイ 6f5f-e5Pm) [] 2020/10/12(月) 18:47:34 ID:EUVfONAL0 2回目以降から1回目に戻る手順くらい書けよ! http://mevius.5ch.net/test/read.cgi/tech/1598756127/569
570: デフォルトの名無しさん (ワッチョイ 07ad-yGJI) [] 2020/10/12(月) 21:34:54 ID:mxOFfEsA0 おもいついた >>530 最後にsubstituteでまとめて消せばよくね? http://mevius.5ch.net/test/read.cgi/tech/1598756127/570
571: デフォルトの名無しさん (ワッチョイ 67da-tQNK) [sage] 2020/10/12(月) 23:43:56 ID:k3Vmfe+e0 時間を戻そう http://mevius.5ch.net/test/read.cgi/tech/1598756127/571
572: デフォルトの名無しさん (ワッチョイ ca4f-+ixC) [sage] 2020/10/13(火) 08:13:53 ID:548t3foS0 >>561 objAcroAppにCloseメソッドがあってそれを実行していないとかいうオチだったりして http://mevius.5ch.net/test/read.cgi/tech/1598756127/572
573: デフォルトの名無しさん (ワッチョイ ca01-d5Pu) [sage] 2020/10/13(火) 09:32:19 ID:2dX+mfF30 >>572 普通の頭持ってたら id = objAcroApp.Exit がそれだと思うだろうに… http://mevius.5ch.net/test/read.cgi/tech/1598756127/573
574: デフォルトの名無しさん (ワッチョイ 6749-xYNh) [sage] 2020/10/13(火) 10:34:47 ID:lK6RB09G0 「.CloseAllDocs」 ってメソッドもAcrobat.AcroAppにはあるらしいな そしてExitだけじゃプロセスが残ることもあるらしい まあAcrobatの環境ないから検証も何もできんけど、 安全取るならExitしたあとにプロセス監視してkillするしかないんじゃね 途中でエラー落ちしてもプロセスのこっちゃうらしいし ちなみにどうでもいいが個人的にはExitとCloseは、意味的に異なると思う だからExitとCloseが両方あってもおかしくないとは思う でもExitがCloseを包括していても、それはそれでありだとも思う Acrobat.AcroAppの公式ドキュメント見れてないからワイには答えが出せんわ http://mevius.5ch.net/test/read.cgi/tech/1598756127/574
575: デフォルトの名無しさん (ワッチョイ 9f63-F9zC) [sage] 2020/10/15(木) 08:48:14 ID:wrF56cyr0 >>560です 皆さん本当にありがとうございます。 みなさんのご意見をプログラムに反映した後、 ソースを最小(adobeをオープン・クローズするのみ) にしてもエラーです・・・(次レス参照) タスクマネージャには adobe CEF helper、adobe update serviceがありますが 前者は消しても湧いてきているように見えます。 パソコン再起動してもダメ、日付が変わってもダメです。 しかし、エラーになったあとちょうど24時間経過すると 無事実行できるようになることがわかりました・・・ 24時間後の数分前はエラーでしたが 数分後は無事実行できました。 ちょうど24時間で消えるプロセスが存在するんだと思いますが 何かご存知のかた居ましたらご教示ください・・・ http://mevius.5ch.net/test/read.cgi/tech/1598756127/575
576: デフォルトの名無しさん (ワッチョイ 9f63-F9zC) [] 2020/10/15(木) 08:49:26 ID:wrF56cyr0 ソースを最小にするためところどころコメントアウトしてます Dim objAcroApp As Acrobat.AcroApp Dim objAcroAVDoc As Acrobat.AcroAVDoc ' Dim objAcroPDDoc As Acrobat.AcroPDDoc Dim id As Long ' Dim js As Object ' Dim SaveName As String Set objAcroApp = CreateObject( "AcroExch.App" ) Set objAcroAVDoc = CreateObject( "AcroExch.AVDoc" ) id = objAcroApp.Show id = objAcroAVDoc.Open(FilePath, "") ' Set objAcroPDDoc = objAcroAVDoc.GetPDDoc() ' Set js = objAcroPDDoc.GetJSObject ' SaveName = FolderPath & "\" & Replace(FileName, ".pdf", "") '変換のうえテキストファイルとして保存 ' js.SaveAs SaveName & ".txt", "com.adobe.acrobat.plain-text" 'PDFファイルを変更無しで閉じる id = objAcroAVDoc.Close(1) 'Acrobatアプリケーションを終了する。 id = objAcroApp.CloseAllDocs←どっかのサイトでobjAcroApp.Hideの前に入れてました id = objAcroApp.Hide id = objAcroApp.Exit ' Set js = Nothing Set objAcroAVDoc = Nothing Set objAcroApp = Nothing http://mevius.5ch.net/test/read.cgi/tech/1598756127/576
577: デフォルトの名無しさん (ワッチョイ 5b2c-F9zC) [sage] 2020/10/15(木) 09:20:24 ID:7eWumHpU0 起動設定で、プロセスを殺すと、また再起動するアプリがある。 ウィルスチェックなどの、何かをチェックするアプリ 必ず、最低1つは起動しておくタイプのアプリ そういうアプリは使わない方がよい。 何をチェックして、本社に送っているか、怪しい 会社に問い合わせて、再起動を止めるような設定を聞けば? http://mevius.5ch.net/test/read.cgi/tech/1598756127/577
578: デフォルトの名無しさん (スププ Sdbf-K5sQ) [sage] 2020/10/15(木) 10:57:30 ID:LAL4jdY0d 区分1〜10のデータが記録されたcsvを区分ごとにExcelシート毎(シート名は1〜10)に分割して読み込むvbaがどうしても出来ません… ご教示いただけないでしょうか… http://mevius.5ch.net/test/read.cgi/tech/1598756127/578
579: デフォルトの名無しさん (ワッチョイ 5b49-fMdf) [sage] 2020/10/15(木) 11:36:34 ID:+kinuzul0 そんな説明でわかるわけがないので、 そこまで頑張って作ったコードとエラーメッセージを提示するのが最低限 そして、自分で何を試行したのかも説明すること http://mevius.5ch.net/test/read.cgi/tech/1598756127/579
580: デフォルトの名無しさん (ワントンキン MMbf-QVAX) [sage] 2020/10/15(木) 12:20:58 ID:k/WlCRMPM いつもの人 http://mevius.5ch.net/test/read.cgi/tech/1598756127/580
581: デフォルトの名無しさん (ワッチョイ 5b2c-F9zC) [sage] 2020/10/15(木) 13:02:07 ID:7eWumHpU0 Ruby なら、これで最初の列だけを、出力できる require 'csv' # CSV ファイルを、1行ずつ処理する CSV.foreach( "a.csv" ) do |row| puts row[ 0 ] end http://mevius.5ch.net/test/read.cgi/tech/1598756127/581
582: デフォルトの名無しさん (ワッチョイ 9f6d-sSL1) [] 2020/10/15(木) 14:36:16 ID:sVQ5bVjI0 >>581 C#スレで恥を晒したRuby荒らしは帰れよ http://mevius.5ch.net/test/read.cgi/tech/1598756127/582
583: デフォルトの名無しさん (ワッチョイ 8bda-fMdf) [sage] 2020/10/15(木) 19:36:00 ID:GQ796pt70 簡単かどうかなんてどうでもいい。 200万件のデータをADO+SQLより速く処理できるならRuby使ってやらなくもないが。 どうなんだい? 無理ならイラネ。 http://mevius.5ch.net/test/read.cgi/tech/1598756127/583
584: デフォルトの名無しさん (ワッチョイ 9fb5-K72c) [sage] 2020/10/15(木) 19:54:07 ID:hF5+vxPB0 もう時代遅れなのはわかってるけど 会社が2019に更新してまだまだ使う気満々なので そして配布が出来ないと困る http://mevius.5ch.net/test/read.cgi/tech/1598756127/584
585: デフォルトの名無しさん (テテンテンテン MM7f-RGwm) [sage] 2020/10/15(木) 21:24:39 ID:Dg+UC/FqM >>583 ルビ糞基地外の味方をするつもりはないけど、DBがボトルネックならRubyだろうが何だろうが速さは変わらんよ http://mevius.5ch.net/test/read.cgi/tech/1598756127/585
586: デフォルトの名無しさん (ワッチョイ 9fe6-lr1q) [sage] 2020/10/15(木) 21:53:38 ID:3DKNzMNt0 俺の解釈だとこんな感じ Sub Macro1(Filename, Fieldname) Set ws = Workbooks.Open(Filename).Sheets(1) Set pvt = ws.PivotTableWizard(1, ws.UsedRange) pvt.PivotFields(Fieldname).Orientation = 1 pvt.PivotFields(Fieldname).Orientation = 4 pvt.ColumnGrand = False For Each r In pvt.DataBodyRange: r.ShowDetail = True: Next End Sub http://mevius.5ch.net/test/read.cgi/tech/1598756127/586
587: デフォルトの名無しさん (ワッチョイ fb19-F9zC) [] 2020/10/15(木) 23:19:16 ID:fOL5OZab0 >>562 はこのサイトかな http://pdf-file.nnn2.com/?p=6 http://mevius.5ch.net/test/read.cgi/tech/1598756127/587
588: デフォルトの名無しさん (ワッチョイ 8bda-fMdf) [sage] 2020/10/16(金) 19:09:16 ID:Hr39/iau0 >>587 多分それ。 http://mevius.5ch.net/test/read.cgi/tech/1598756127/588
589: デフォルトの名無しさん (ワッチョイ bb5f-snog) [] 2020/10/16(金) 19:55:23 ID:rggqlWcj0 PDFファイルの件は、マクロの記録でやるとどうなるのか、確認すればいいんじゃないの? http://mevius.5ch.net/test/read.cgi/tech/1598756127/589
590: デフォルトの名無しさん (ワッチョイ 8bda-fMdf) [sage] 2020/10/16(金) 21:55:06 ID:Hr39/iau0 なあそれ、マクロの記録をするとどうなるか確認してから言ってるのか? http://mevius.5ch.net/test/read.cgi/tech/1598756127/590
591: デフォルトの名無しさん (ワッチョイ 9f42-B8Ym) [sage] 2020/10/16(金) 22:07:10 ID:9Da+1I/Z0 モチのロンだぜ http://mevius.5ch.net/test/read.cgi/tech/1598756127/591
592: デフォルトの名無しさん (ワッチョイ 5bda-fMdf) [sage] 2020/10/16(金) 22:24:45 ID:tI22s9TB0 モロのチンだぜ http://mevius.5ch.net/test/read.cgi/tech/1598756127/592
593: デフォルトの名無しさん (スップ Sdbf-huX3) [sage] 2020/10/18(日) 16:09:00 ID:SMfw56kvd >>533 そういうことじゃねえ。 http://mevius.5ch.net/test/read.cgi/tech/1598756127/593
594: デフォルトの名無しさん (ワッチョイ 05da-tMQb) [sage] 2020/10/21(水) 23:21:44 ID:w3Ug/D8p0 https://i.pinimg.com/474x/ac/b7/a5/acb7a5babfc425b462dd6ed0983c15dd.jpg http://mevius.5ch.net/test/read.cgi/tech/1598756127/594
595: デフォルトの名無しさん (テテンテンテン MMe6-B6QP) [sage] 2020/10/22(木) 03:14:09 ID:RxEiNjgnM こまけぇこたぁ いいんだよ!! /) //) __ `/ 二つ/⌒⌒\ | ニ⊃ (●)(●)\ /\ノ|⌒(_人_)⌒| / > ヽニノ < http://mevius.5ch.net/test/read.cgi/tech/1598756127/595
596: デフォルトの名無しさん (スプッッ Sd02-4ynI) [] 2020/10/22(木) 08:49:00 ID:8kbg1eIjd まだVBAなんて使ってる人がいてビックリ 懐かしい言語だよね http://mevius.5ch.net/test/read.cgi/tech/1598756127/596
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 406 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.025s