[過去ログ] Excel VBA 質問スレ Part68 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
101: (オイコラミネオ MM4f-kGCs) 2020/09/07(月)21:22 ID:JIC+p5t3M(1) AAS
何をしたいかによるけど、Windowsの操作の自動化っていう範疇ならPowerShellおすすめ
Comオブジェクトも使えるよ
102(1): (アウアウエー Sa1f-yOpk) 2020/09/07(月)21:38 ID:J1GBImUha(1) AAS
なにがおかしいの?
Sub func()
Dim url As String: url = "外部リンク:e-hentai.org
Dim buffer As String: buffer = ""
Dim objLinks As Object
Dim objIE As InternetExplorer
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = False
objIE.navigate (url)
Do While objIE.Busy Or objIE.readyState <> READYSTATE_COMPLETE
省14
103(1): (ワッチョイ bff7-BGL1) 2020/09/07(月)22:46 ID:qahfABoQ0(1) AAS
IEはもう無くなるよ
104: (ワッチョイ 27ce-n8ne) 2020/09/07(月)22:49 ID:744b2nM10(1/3) AAS
>>102
Dim objLinks As String
105(2): (ワッチョイ bfc9-XrX+) 2020/09/07(月)22:54 ID:VQNIMFGd0(1/2) AAS
>>103
IEの代替え何使ったらいいの?
106(1): (ワッチョイ 27ce-n8ne) 2020/09/07(月)23:07 ID:744b2nM10(2/3) AAS
>>105
データをダウンロードするだけならブラウザを使わずに直接ネットアクセスした方が早くて簡単
色んな方法があるけどXMLHTTPとかWinHttpRequestとか調べてみ
107(1): (ワッチョイ bfc9-XrX+) 2020/09/07(月)23:17 ID:VQNIMFGd0(2/2) AAS
>>106
ありがとうございます
'JavaScriptを実行しFormを送る処理
objIE.Navigate "JavaScript:doAction('/文字列')"
みたいなことしないとアクセスできないサイトのデータが取得したいのですが
他に方法ありますか?
108: (ワッチョイ e7e6-n8ne) 2020/09/07(月)23:22 ID:sgrgY4Mk0(2/2) AAS
JavaScriptを読んで何やってるか調べろ
109: (ワッチョイ 27ce-n8ne) 2020/09/07(月)23:49 ID:744b2nM10(3/3) AAS
>>107
Form送信は単純なHTTPアクセスで代替できるケースが多いから、これもブラウザを使う必要はない
てか、WEBの構造はVBA関係ないし
110(5): (ワッチョイ e761-Mi9Z) 2020/09/07(月)23:56 ID:UwONkXQv0(1) AAS
エクセル2010です。
上書き保存時にすべてのシートでA1セルを選択するようにしたいのですが、
Ctrl+S時とボタンのクリックイベントで挙動が違うことにハマってます。
1枚目シートにactiveXコントロールのボタンを配置し、VBAの構成は以下です。
1. シートモジュール : ボタンのクリックイベントにThisworkbook.saveだけを書いています。
2. ThisWorkbookモジュール : beforeSaveイベントで3を呼び出し。
3. 標準モジュール : 全シートのA1セルを選択するSubプロシージャ。ForEachでまわすだけ。
Ctrl+Sの際は2→3でうまくいきます。
ボタン押下の場合は、1→2→3と流れてはいるものの、なぜか各シートがactivateされなず、activeSheet.Range("A1").Selectが働きません。
1のクリックイベントから直接3を呼び出すのは、うまく行きます。
省2
111: (ドコグロ MM7b-aCGe) 2020/09/08(火)02:03 ID:weDKADyMM(1) AAS
>>110
for i= activeworkbook.worksheets.count to 1 step -1
apprication.goto activeworkbook.worksheets(i).range("a1")
next i
activeworkbook.save
スマホ打ちだから綴りミスはあるかも
112(1): (アウアウカー Sa9b-vRCQ) 2020/09/08(火)07:47 ID:vMdvrooDa(1/2) AAS
>>110
For eachで全シート回してるならActivateしなくても、
sh.Range("A1")で行けないか?
113(1): (アウアウカー Sa9b-vRCQ) 2020/09/08(火)07:48 ID:vMdvrooDa(2/2) AAS
>>112
間違えたsh.Range("A1").Selectだわ
114: (ワッチョイ 27da-XrX+) 2020/09/08(火)10:40 ID:C66iYfBu0(1/3) AAS
>>110
働かないという場合の原因で以下のことを調べてみ
1.実は働いていたがその後に別の動作をしたため働いていないように見える
2.働こうとしたが、なんらかの異常が出て失敗している
3.その処理が実行されていない(on errorやifの条件、イベント発生していないなど)
115: (ワッチョイ 272c-3NJ+) 2020/09/08(火)11:03 ID:0vfIbeP00(1) AAS
>>105
漏れは、yahoo のログインとか、
Ruby, Selenium Webdriver で、ブラウザを自動操作してる
単純なダウンロード・スクレイピングなら、RubyのNokogiri。
外部コマンドなら、curl, wget
116: (ラクッペペ MM8f-dQ4P) 2020/09/08(火)11:52 ID:POT3YWITM(1) AAS
Application.EnableEvents=Falseしてるとか?
117(1): (ワッチョイ 0701-4dlc) 2020/09/08(火)16:58 ID:qXkQmTRa0(1/2) AAS
“>-1”&i
て書いたときに >-2 >-3... っていうふうに比較値が意図せず負に進むんだけど正の値に足したい場合ってどうすれば良いでしょうか。
118(1): (アウアウウー Sa8b-vi+Z) 2020/09/08(火)18:39 ID:p9XW8v7Na(1) AAS
>>117
VBAの挙動の問題
-を文字列、1を数値として認識してる
そもそも、-1をダブルクォーテーションで括ってるのは文字列として-1を認識させたい時のみにするのが基本
なので、ダブルクォーテーションを取ってやれば意図通り動くはず
119: (ラクッペペ MM8f-dQ4P) 2020/09/08(火)19:07 ID:Pjd0b/NhM(1) AAS
へー、そんな挙動するんだ。知らなかった
>-11
>-12
>-13
になると思ってたよ
120: (ワッチョイ e77c-ALHH) 2020/09/08(火)19:08 ID:E23V8S4o0(1/5) AAS
>>113
activeじゃないシートはselectできないと思うが
上下前次1-新書関写板覧索設栞歴
あと 882 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.025s