!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part67
https://mevius.5ch.net/test/read.cgi/tech/1593104489/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part68
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ dbda-8BP0)
2020/08/30(日) 11:55:27.33ID:Oy/VxFsh0472デフォルトの名無しさん (ワッチョイ 6309-gW4a)
2020/10/04(日) 19:09:56.24ID:mqiPq7lq0 連投すいません
473デフォルトの名無しさん (スッップ Sd1f-+ya4)
2020/10/04(日) 19:15:03.93ID:l1LxtJm7d 注意
ID:mqiPq7lq0
いつもの馬鹿です
ID:mqiPq7lq0
いつもの馬鹿です
474デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/04(日) 21:13:23.82ID:3bz1Ts/P0 >>471
検索したらいいんじゃね
検索したらいいんじゃね
475デフォルトの名無しさん (ワッチョイ b37c-Uy5C)
2020/10/04(日) 21:42:10.14ID:NRUY+ZF00 >>471
例えとかいい感じとかじゃなくて正確にコードを提示してどの部分をどうしたいのか明確に説明した方がいいよ
例えとかいい感じとかじゃなくて正確にコードを提示してどの部分をどうしたいのか明確に説明した方がいいよ
476デフォルトの名無しさん (スッップ Sd1f-EBv7)
2020/10/04(日) 21:43:28.32ID:hlbFeQNpd 後出し続けて全部作ってもらおうという魂胆の奴だぞ
477デフォルトの名無しさん (オッペケ Sr47-owA3)
2020/10/05(月) 01:21:09.51ID:Roj0MJiCr VBAからIEを操作して、タグを指定して.valueやselctedで自動化しているのですが、ヤフオクの商品説明だけどうしても値の挿入ができません。
Tabや近い要素をフォーカスしたりクリックし、SendkeyなどでShift +Tabからエンダーなど試していますが、一向に解決できません。
直接でか無くてもカーソルが点滅させれれば、クリップボード経由で貼り付けるような仕様にしようと考えています。
Tabや近い要素をフォーカスしたりクリックし、SendkeyなどでShift +Tabからエンダーなど試していますが、一向に解決できません。
直接でか無くてもカーソルが点滅させれれば、クリップボード経由で貼り付けるような仕様にしようと考えています。
478デフォルトの名無しさん (ワッチョイ d32c-IT45)
2020/10/05(月) 07:08:41.25ID:z7kgQPv30 漏れは、Ruby, Selenium Webdriver で、ブラウザを自動操作して、
send_key で、ユーザー名・パスワードを自動入力して、ヤフーにログインしてる
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り離す
options.add_argument( '--start-maximized' ) # 画面最大
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 10 # default timeout
driver.navigate.to "https://login.yahoo.co.jp/config/login_verify2?.src=ym"
element = driver.find_element(:id => "username")
element.send_key "ユーザー名"
driver.find_element(:id => "btnNext").click
element = driver.find_element(:id => "passwd")
element.send_key "パスワード"
driver.find_element(:id => "btnSubmit").click
send_key で、ユーザー名・パスワードを自動入力して、ヤフーにログインしてる
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り離す
options.add_argument( '--start-maximized' ) # 画面最大
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 10 # default timeout
driver.navigate.to "https://login.yahoo.co.jp/config/login_verify2?.src=ym"
element = driver.find_element(:id => "username")
element.send_key "ユーザー名"
driver.find_element(:id => "btnNext").click
element = driver.find_element(:id => "passwd")
element.send_key "パスワード"
driver.find_element(:id => "btnSubmit").click
479478 (ワッチョイ d32c-IT45)
2020/10/05(月) 07:11:02.53ID:z7kgQPv30 そもそも、IE なんか動くのか?
漏れは、Chrome
漏れは、Chrome
480デフォルトの名無しさん (バットンキン MMc7-7HYc)
2020/10/05(月) 12:57:11.88ID:BlyIycRMM >>475
すみません。
Sub test
Dim i,ary()
For i = 1 to 2
ary = TestFunc ※ary配列の要素の最後に呼び出した配列を追加していきたい
Next
End
すみません。
Sub test
Dim i,ary()
For i = 1 to 2
ary = TestFunc ※ary配列の要素の最後に呼び出した配列を追加していきたい
Next
End
481デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/05(月) 13:22:13.75ID:PJYbs+y10 配列に配列を追加するのを初心者がつくるなら
追加する2つの配列と結果を格納する配列の計3つを用意して順番に格納すればできないかな?
追加する2つの配列と結果を格納する配列の計3つを用意して順番に格納すればできないかな?
482デフォルトの名無しさん (ワントンキン MMe7-hUkp)
2020/10/05(月) 14:35:29.71ID:8f5Gi5TxM >>480
いい加減にしろや糞が
いい加減にしろや糞が
483デフォルトの名無しさん (ワッチョイ ff2f-IT45)
2020/10/05(月) 14:54:20.99ID:3En1oQ3G0484デフォルトの名無しさん (ワッチョイ d3da-y5MG)
2020/10/05(月) 15:05:07.42ID:PJYbs+y10 検索すればすむのにね
485デフォルトの名無しさん (バットンキン MMc7-7HYc)
2020/10/05(月) 17:50:38.43ID:BlyIycRMM486デフォルトの名無しさん (ブーイモ MMe7-k/5x)
2020/10/05(月) 17:58:27.13ID:FAPvswgpM 喧嘩腰だなあ
何しにきてんのさ
何しにきてんのさ
487デフォルトの名無しさん (アウアウウー Sa27-y5MG)
2020/10/05(月) 18:26:34.61ID:KW0b9HJla くれくれ君だからしょうがないだろ
488デフォルトの名無しさん (ラクッペペ MM7f-62ru)
2020/10/05(月) 19:48:49.79ID:UUAqkjmTM >>484
F1キー押す方が早くね?
F1キー押す方が早くね?
489デフォルトの名無しさん (ワッチョイ 53ce-2+Dn)
2020/10/05(月) 19:51:04.71ID:0f3oInSL0 >>488
押すだけならワンキーだけど、オンラインヘルプはそこからが長い
押すだけならワンキーだけど、オンラインヘルプはそこからが長い
490デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/06(火) 10:31:57.17ID:9/35+5mY0 大人の対応でうまく誘導してやろうぜ
491デフォルトの名無しさん (ワッチョイ 1b63-dHQN)
2020/10/07(水) 19:45:01.41ID:FTOZLATq0 下記のように特定の文字を削除して、改行をやめて1行文にしたいのですがコードのご教示いただけないでしょうか
やんやんつけ棒§
めちゃ美味い
ポテトチップス§
めちゃ美味い
↓
やんやんつけ棒めちゃ美味い
ポテトチップスめちゃ美味い
やんやんつけ棒§
めちゃ美味い
ポテトチップス§
めちゃ美味い
↓
やんやんつけ棒めちゃ美味い
ポテトチップスめちゃ美味い
492デフォルトの名無しさん (テテンテンテン MM86-J9E+)
2020/10/07(水) 20:04:32.74ID:7ZMz7DKjM まともなテキストエディタ(VSCodeとかサクラエディタとか)で開いて正規表現置換で§¥r¥を空に置換すればよい
493デフォルトの名無しさん (テテンテンテン MM86-J9E+)
2020/10/07(水) 20:05:03.03ID:7ZMz7DKjM 訂正
§¥r¥n
§¥r¥n
494デフォルトの名無しさん (ワッチョイ 1b63-dHQN)
2020/10/07(水) 20:27:15.03ID:FTOZLATq0 >>492
なるほど…めちゃ助かります。ありがとうございます。
なるほど…めちゃ助かります。ありがとうございます。
495デフォルトの名無しさん (ワッチョイ 8ae6-SfJD)
2020/10/07(水) 21:05:04.00ID:8t5FIA980 もっと面白い質問しろよ
496デフォルトの名無しさん (アウアウウー Sa2f-tQNK)
2020/10/07(水) 21:08:11.63ID:EPmDsevha やんやんつけ棒って何?
497デフォルトの名無しさん (ワッチョイ 1b63-dHQN)
2020/10/07(水) 21:08:37.26ID:FTOZLATq0 申し訳ありません、もう一点
A1:私は実は理学部出身
A2:の元々は地質学者です
A3:
A4:こうした南鳥島で
A5:
A6:レアアースの濃集が
A7:起こる
A8:
A9:というのは
A10:
A11:特徴的な層準に
↓
A1:私は実は理学部出身
の元々は地質学者です
A2:こうした南鳥島で
A3:レアアースの濃集が
起こる
A4:というのは
A5:特徴的な層準に
下の行に文字列 → 2行の文章として、改行を入れてExcelの1マスにまとめる
下の行が空白 → 1行の文書なのでそのまま
これをなんとかVBAで自動化したいのですが記述を教示願えますでしょうか
面白くない質問ですみません…
A1:私は実は理学部出身
A2:の元々は地質学者です
A3:
A4:こうした南鳥島で
A5:
A6:レアアースの濃集が
A7:起こる
A8:
A9:というのは
A10:
A11:特徴的な層準に
↓
A1:私は実は理学部出身
の元々は地質学者です
A2:こうした南鳥島で
A3:レアアースの濃集が
起こる
A4:というのは
A5:特徴的な層準に
下の行に文字列 → 2行の文章として、改行を入れてExcelの1マスにまとめる
下の行が空白 → 1行の文書なのでそのまま
これをなんとかVBAで自動化したいのですが記述を教示願えますでしょうか
面白くない質問ですみません…
498デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/07(水) 21:11:26.09ID:JTTOzasI0 >>497
その条件2つそのままコードに直していけるよ
その条件2つそのままコードに直していけるよ
499デフォルトの名無しさん (ワッチョイ cbda-xYNh)
2020/10/07(水) 21:17:21.39ID:ueKkqa210 改行がLfなのかCrなのかCrLfなのか知らんが
Replace("改行入りの文字列", vbLf, "")
Replace("改行入りの文字列", vbLf, "")
500デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/07(水) 21:58:27.94ID:JTTOzasI0 >>499
そんなことしたら改行しなくなるが…
そんなことしたら改行しなくなるが…
501デフォルトの名無しさん (ワッチョイ ca6d-zMau)
2020/10/07(水) 22:16:39.68ID:XaxSLEYL0 いつものクレクレ君かな
502デフォルトの名無しさん (ワントンキン MM3a-pCej)
2020/10/07(水) 22:51:28.53ID:7uT04k8fM ・コードを要求
・追加で教えて
いつもの人だね
・追加で教えて
いつもの人だね
503デフォルトの名無しさん (ワッチョイ 8ae6-KV+F)
2020/10/07(水) 22:54:48.87ID:8t5FIA980 普通に書けばできることを聞く意味が分からん
もしかして書けないの?
書けないならやめればいいのに
もしかして書けないの?
書けないならやめればいいのに
504デフォルトの名無しさん (ドコグロ MM02-dHQN)
2020/10/07(水) 22:56:25.93ID:Az9cGqg8M505デフォルトの名無しさん (ワッチョイ 67da-xYNh)
2020/10/08(木) 01:49:40.56ID:584FeZ4r0506デフォルトの名無しさん (アウアウウー Sa2f-J9E+)
2020/10/08(木) 09:04:33.67ID:BqKPxLQJa CSVとして保存
VSCode等のまともなエディタで開く
([^¥r]+)¥r¥n([^¥r]+)を”$1¥r¥n$2”に置換
¥r¥n¥r¥nを¥r¥nに置換
Excelにインポート
>>492同様にワンショットでいいならこんな感じでいけるんじゃね
VSCode等のまともなエディタで開く
([^¥r]+)¥r¥n([^¥r]+)を”$1¥r¥n$2”に置換
¥r¥n¥r¥nを¥r¥nに置換
Excelにインポート
>>492同様にワンショットでいいならこんな感じでいけるんじゃね
507デフォルトの名無しさん (ワッチョイ 67da-tQNK)
2020/10/08(木) 14:32:22.56ID:584FeZ4r0 それができないのが初心者
508デフォルトの名無しさん (ブーイモ MM76-HnI9)
2020/10/08(木) 15:37:32.47ID:d1cy1ieUM クレクレ君のより煽ってる奴のがうざいんだけどね
VBAだけが人並にできるからこのスレにいつも欠かさず覗きにきてる感じか?
いつものお前が邪魔ですよお
VBAだけが人並にできるからこのスレにいつも欠かさず覗きにきてる感じか?
いつものお前が邪魔ですよお
509デフォルトの名無しさん (ワッチョイ 0668-xYNh)
2020/10/08(木) 15:59:16.76ID:btiqMG+Y0510デフォルトの名無しさん (ワントンキン MM3a-R/IE)
2020/10/08(木) 17:05:05.08ID:+6fedHspM >>508
くれくれ君本人乙
くれくれ君本人乙
511デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/08(木) 19:30:11.76ID:bwT1M8vM0512デフォルトの名無しさん (ワッチョイ 1b63-dHQN)
2020/10/08(木) 19:55:49.61ID:YPYO8uSI0 たしかにやろうとしないことが問題
てのは御指摘のとおりですね。すみません。
映像制作を生業としてますが普段tipsを聞くのりで聞いてしまいました。
てのは御指摘のとおりですね。すみません。
映像制作を生業としてますが普段tipsを聞くのりで聞いてしまいました。
513デフォルトの名無しさん (ワッチョイ ca4f-+ixC)
2020/10/08(木) 20:04:37.46ID:KjDVO4Tm0514デフォルトの名無しさん (スフッ Sdea-gn5F)
2020/10/08(木) 21:04:52.28ID:DcpygGCOd ただでさえ印象悪いのにどうでもいい言い訳まで付けてさらに印象悪くするよくあるパターン
515デフォルトの名無しさん (ワッチョイ 6bda-q18j)
2020/10/09(金) 00:24:11.53ID: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
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
516デフォルトの名無しさん (ワッチョイ 6bda-q18j)
2020/10/09(金) 00:26:14.42ID:t8qEIjmh0 >>515
のdw = DateAdd("S", 5, Now)
Application.OnTime dw, "test"
を入れると、
「実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」
となってしまいます。
「マクロのセキュリティ」は「すべて有効」にしています。
どうすればいいでしょうか
のdw = DateAdd("S", 5, Now)
Application.OnTime dw, "test"
を入れると、
「実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」
となってしまいます。
「マクロのセキュリティ」は「すべて有効」にしています。
どうすればいいでしょうか
517デフォルトの名無しさん (ワッチョイ 4a2f-Dl/i)
2020/10/09(金) 00:56:17.14ID:8xBy2vBw0518デフォルトの名無しさん (ワッチョイ 6bda-q18j)
2020/10/09(金) 01:28:40.34ID:t8qEIjmh0519デフォルトの名無しさん (ワッチョイ 0f41-ICsZ)
2020/10/09(金) 16:14:30.36ID: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
に変換したいのですが、どういうコード書けばよいのでしょうか?
を
1-1,1-2,2-1,2-2,3,4-1,4-2,4-3,5,6
に変換したいのですが、どういうコード書けばよいのでしょうか?
520デフォルトの名無しさん (ワッチョイ 4aad-YPNF)
2020/10/09(金) 16:19:59.95ID:5DciVe+j0 連想配列使ってカウントするか(0 to 対象の値のMax)の配列を用意して、Array(対象の値)にカウントするかが1番頭使わなくて済むかな?
521デフォルトの名無しさん (ブーイモ MM76-HnI9)
2020/10/09(金) 16:55:39.01ID:9cfuJ5OLM かなり前だけどこのスレで教わったアドバイスが今やってることでピンときた
タブ増やして進めてくより
userformをhideとshowで工程進めてくみたいにしたほうがいいわ
ありがとうかなり前に教えてくれた人!
タブ増やして進めてくより
userformをhideとshowで工程進めてくみたいにしたほうがいいわ
ありがとうかなり前に教えてくれた人!
522デフォルトの名無しさん (アウアウウー Sa2f-5jeW)
2020/10/09(金) 17:52:44.19ID:OU1KT8YFa >>519
fori=1 to 要素数(※要素数はカンマで区切られた数)
数字=数字 & “-” & i
next i
みたいな感じで
前の数字と違ったら数字をリセット
(iが1ならこの処理はしない)
要素がひとつなら処理せず次のiに
fori=1 to 要素数(※要素数はカンマで区切られた数)
数字=数字 & “-” & i
next i
みたいな感じで
前の数字と違ったら数字をリセット
(iが1ならこの処理はしない)
要素がひとつなら処理せず次のiに
523デフォルトの名無しさん (ワッチョイ 2a4b-XTxo)
2020/10/09(金) 18:03:17.75ID:klvVBjUq0 next i って書く人嫌い
524デフォルトの名無しさん (ササクッテロ Sp03-+ixC)
2020/10/09(金) 18:15:01.53ID:FzRk+nqKp かなり前の話と言えば
昔Privateで書かれたプロパティを
外部から取得する方法を書いてた人がいたけど
あれどうやるんだったっけ
昔Privateで書かれたプロパティを
外部から取得する方法を書いてた人がいたけど
あれどうやるんだったっけ
525デフォルトの名無しさん (ワッチョイ 03e5-SfJD)
2020/10/09(金) 18:33:13.76ID:/2wG1kS20 内部から漏洩させるのが確実
526デフォルトの名無しさん (ワッチョイ 03e5-SfJD)
2020/10/09(金) 18:36:07.52ID:/2wG1kS20 >>523
それ以前にまったく要望を満たしていない
それ以前にまったく要望を満たしていない
527デフォルトの名無しさん (スプッッ Sd8a-Kms5)
2020/10/09(金) 21:13:45.01ID:hr48HmJ4d >>517
俺はブックも必ず指定するけどね。
俺はブックも必ず指定するけどね。
528デフォルトの名無しさん (スプッッ Sd8a-Kms5)
2020/10/09(金) 21:15:25.62ID:hr48HmJ4d >>519
どうしたいのかもう少し言葉で説明してくれる?
どうしたいのかもう少し言葉で説明してくれる?
529デフォルトの名無しさん (ワッチョイ cbda-xYNh)
2020/10/09(金) 21:41:09.60ID:KqgB0xuS0 >>519
普通にカウントアップして、1から2に、2から3に上がるときにカウンターリセット。
普通にカウントアップして、1から2に、2から3に上がるときにカウンターリセット。
530デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 21:44:54.18ID:VcvC9Dp/0 1つしかなかった時に連番を付けない処理が一手間多くて面倒
データの先読みが必要になる
データの先読みが必要になる
531デフォルトの名無しさん (ワッチョイ 0668-xYNh)
2020/10/09(金) 21:49:11.48ID:5R2Ih+qA0 出力タイミングを次の数字を見てからにすれば楽
532デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/09(金) 21:49:18.81ID:2P2kQgrz0 1個でも複数でも変わらない
おかしな考え方してるんだろう
おかしな考え方してるんだろう
533デフォルトの名無しさん (ワッチョイ 8ae6-SfJD)
2020/10/09(金) 21:49:40.29ID:hWEYACMU0534デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 22:02:55.54ID:VcvC9Dp/0 次の数字を見るかどうかの所で配列の最後かどうかも判定する必要があって面倒
シンプルでうまい方法があるんなら言葉じゃなくてコードで答えてくれ
シンプルでうまい方法があるんなら言葉じゃなくてコードで答えてくれ
535デフォルトの名無しさん (ワッチョイ 0b3d-5jeW)
2020/10/09(金) 22:06:14.03ID:rNmj4HJx0 splitでカンマ区切りの配列化
instrで個数確認
かね?
instrで個数確認
かね?
536デフォルトの名無しさん (ワッチョイ 0b3d-5jeW)
2020/10/09(金) 22:07:17.45ID:rNmj4HJx0 >>534
Uboundで判定して抜ければいいじゃん
Uboundで判定して抜ければいいじゃん
537デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 22:19:01.76ID:VcvC9Dp/0 >>536
ちゃんと動くコード書いてみて
ちゃんと動くコード書いてみて
538デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 22:24:25.52ID: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
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
539デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 22:47:08.38ID: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
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
540デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 23:08:21.94ID:VcvC9Dp/0 b(i) = b(i) & "-" & c
↓
b(i) = b(i) & -c
↓
b(i) = b(i) & -c
541デフォルトの名無しさん (ワッチョイ 672c-Dl/i)
2020/10/09(金) 23:19:19.22ID:760t1BpC0 プログラミングのお題スレにも、たまにあるけど、
次の要素を先読みするのは面倒
スタックのpeek みたいに、要素を読み取るだけで、削除しない関数があればよい
次の要素を先読みするのは面倒
スタックのpeek みたいに、要素を読み取るだけで、削除しない関数があればよい
542デフォルトの名無しさん (ワッチョイ 672c-Dl/i)
2020/10/10(土) 06:22:18.37ID: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( "," ) # カンマ区切り
# 一旦、整数の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( "," ) # カンマ区切り
543542 (ワッチョイ 672c-Dl/i)
2020/10/10(土) 06:24:55.49ID:BjcbKuib0544542 (ワッチョイ 672c-Dl/i)
2020/10/10(土) 06:29:37.77ID: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( "," ).
修正
>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( "," ).
545デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/10(土) 06:39:31.44ID:WLqCacU70 データの種類が少なければ連想配列
546デフォルトの名無しさん (ワッチョイ 0668-xYNh)
2020/10/10(土) 09:37:35.06ID:ejDp+I1j0 先読みって考えるから面倒なのでは?
後出しって考えればいいのでは?
後出しって考えればいいのでは?
547デフォルトの名無しさん (ワッチョイ ca01-yf4V)
2020/10/10(土) 09:43:21.90ID:VjEh1Ow80 てかあの程度の仕様なら自分で書けよって思う
あれぐらいで書けないってのは根本的にプログラミングの基礎分かってないでしょ
forとifで一度自分で書いてみろと
あれぐらいで書けないってのは根本的にプログラミングの基礎分かってないでしょ
forとifで一度自分で書いてみろと
548デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/10(土) 11:33:09.64ID:ZZ8h2+k60 書く気が無いからコードくれと言ってるんじゃないの
549デフォルトの名無しさん (ワントンキン MM3a-R/IE)
2020/10/10(土) 12:12:33.28ID:PwUkT7dUM いつものあいつでしょ
550デフォルトの名無しさん (ワッチョイ 0332-HnI9)
2020/10/10(土) 14:51:13.18ID:l6OboMxr0 書けない奴「いつもあいつでしょ」
551デフォルトの名無しさん (ワントンキン MM3a-R/IE)
2020/10/10(土) 15:12:08.20ID:PwUkT7dUM 煽って自演のいつもの馬鹿
552デフォルトの名無しさん (ワッチョイ 0332-HnI9)
2020/10/10(土) 15:36:01.73ID:l6OboMxr0 おじさん「煽ってなんちゃら」
553デフォルトの名無しさん (ラクッペペ MM86-SfJD)
2020/10/10(土) 15:38:43.61ID:VaQE37nUM バグってハニー
554デフォルトの名無しさん (ワントンキン MM3a-pCej)
2020/10/10(土) 17:43:29.69ID:aEE68DdLM いつものあいつ確定
555542 (ワッチョイ 672c-JAxH)
2020/10/10(土) 22:30:05.80ID:BjcbKuib0 データベース変換などは、Ruby のEnumerable のメソッドを見て、
シェル芸とか、プログラミングのお題スレの問題を解いた方がよい
VBA は可読性が悪すぎて、作っても再利用できない。
OSS で全会社共通で、RubyのEnumerable 相当のメソッドを作って公開するべき!
他言語ではたいてい、Rubyと等価のメソッドを作る
シェル芸とか、プログラミングのお題スレの問題を解いた方がよい
VBA は可読性が悪すぎて、作っても再利用できない。
OSS で全会社共通で、RubyのEnumerable 相当のメソッドを作って公開するべき!
他言語ではたいてい、Rubyと等価のメソッドを作る
557デフォルトの名無しさん (ワッチョイ ca4f-+ixC)
2020/10/11(日) 00:52:32.73ID:l/QRoUUr0558デフォルトの名無しさん (ワッチョイ b301-NY7j)
2020/10/11(日) 08:15:59.41ID:qzIChT2z0 >>555
データ変換てのは基本的な作法さえ知ってればEnumerableメソッド使わなくても特に困ることもないだろう
ただのループ構造をこねくり回してるだけでそのためにメソッドを割り当てるなんてお仕着せもいいところ
データ変換てのは基本的な作法さえ知ってればEnumerableメソッド使わなくても特に困ることもないだろう
ただのループ構造をこねくり回してるだけでそのためにメソッドを割り当てるなんてお仕着せもいいところ
559デフォルトの名無しさん (ワッチョイ ca01-d5Pu)
2020/10/11(日) 10:01:12.40ID:QZ/HZvxF0 >>557-558
なぜ相手するんだ…
なぜ相手するんだ…
560デフォルトの名無しさん (ワッチョイ 6b63-JAxH)
2020/10/11(日) 12:29:43.68ID:lH9sVzvl0 Acrobatを使用したプログラムを複数回実行すると初回だけ成功し
2回目以降は
実行時エラー2147467259(80004005)
エラーを特定できません
となります(idに代入する行でエラー)
終了処理に不備があってacrobatのプロセスが残っているのではと思いましたが
色々なサイトを見ても解決がわからない状態です。
どうすれば治りますか。
プログラムは次のレスを参照ください。
2回目以降は
実行時エラー2147467259(80004005)
エラーを特定できません
となります(idに代入する行でエラー)
終了処理に不備があってacrobatのプロセスが残っているのではと思いましたが
色々なサイトを見ても解決がわからない状態です。
どうすれば治りますか。
プログラムは次のレスを参照ください。
561デフォルトの名無しさん (ワッチョイ 6b63-JAxH)
2020/10/11(日) 12:30:03.99ID: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
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
562デフォルトの名無しさん (ワッチョイ cbda-xYNh)
2020/10/11(日) 18:37:51.01ID:7Qx+aWsY0 どこだか忘れたけど、閉じる・解放はこの順番じゃないとダメって書いてあるサイトがあったぞ。
563デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/11(日) 20:12:54.59ID:WEczn1o20 オブジェクト型にNothingを代入しても、参照ポインタが書き換わるだけでメモリが解放されるわけじゃないんで、順序はそれほど重要じゃない
564デフォルトの名無しさん (ワッチョイ 67da-xYNh)
2020/10/11(日) 21:39:34.57ID:CPiGYYUg0 >>560
必ず再現するなら同じ現象が発生する最小のコードを作ってみ
必ず再現するなら同じ現象が発生する最小のコードを作ってみ
565デフォルトの名無しさん (ワッチョイ 4a2f-JAxH)
2020/10/11(日) 23:29:10.26ID:gmCwGThW0 >>561
とりあえずDimでNewするのやめて様子見てみ
とりあえずDimでNewするのやめて様子見てみ
566デフォルトの名無しさん (ワッチョイ 6f5f-e5Pm)
2020/10/12(月) 01:35:39.95ID:EUVfONAL0 どうやって再度、実行できているのか?
仕事ができない人がよく言う説明。
仕事ができない人がよく言う説明。
567デフォルトの名無しさん (ワッチョイ 672c-JAxH)
2020/10/12(月) 08:27:00.05ID:CsRHImZw0 >>560
タスクマネージャーを起動して、プロセスを終了させてから、実行すれば?
タスクマネージャーを起動して、プロセスを終了させてから、実行すれば?
568デフォルトの名無しさん (ラクッペペ MM86-SfJD)
2020/10/12(月) 10:12:47.93ID:5eYbb8SbM アクロバットがすぐに終了しないのは体感でも分かるレベル
569デフォルトの名無しさん (ワッチョイ 6f5f-e5Pm)
2020/10/12(月) 18:47:34.51ID:EUVfONAL0 2回目以降から1回目に戻る手順くらい書けよ!
570デフォルトの名無しさん (ワッチョイ 07ad-yGJI)
2020/10/12(月) 21:34:54.79ID:mxOFfEsA0571デフォルトの名無しさん (ワッチョイ 67da-tQNK)
2020/10/12(月) 23:43:56.93ID:k3Vmfe+e0 時間を戻そう
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【テレビ】粗品「THE W」バッサリ「おもんない、レベル低い」審査員就任で「日テレが“血の海”に…」 [湛然★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- (´・ω・`)おはよ
- キ...キャ...キャ...キャン...
- 【悲報】女さん「ハローワークで仕事を探してる3-40代の中年男性いるでしょ。あれ何?」 [483447288]
- 🪬本日のコンマ占い🧿
- 【画像】ええっ?すき焼きに「玉蒟蒻」だって!?オイオイオイ・・・
- 【悲報】維新の政治資金でガールズバー、高市首相「良いか悪いかは国民の皆さまが判断されること」 [115996789]
