• ベストアンサー

VBSかVBAでIE操作をする場合、どちらの方が向

VBSかVBAでIE操作をする場合、どちらの方が向いてるのでしょうか? 現在VBAでie操作をしていますが、 この記事 http://okwave.jp/qa/q7903584.html を見ると、VBAからVBSに書き換えたほうがいいのかな? なんて思ってきました。 IE操作においてVBAより」VBSの方ができることが多いか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.2

WSH の VBS と Word/Excel の VBA なら、IE を操作する点において大差有りません。 私は以下のように使い分けています。 タスクスケジュール等で自動実行する処理なら WSH で VBS または JS 例: 一日一回、あるWebサイトから情報を得てファイルを更新する Excel で管理するデータを元に手動実行するなら Excel で VBA 例: Excel を開いて、特定のセルに値を入れると対応するWebサイトが表示される IE/HTA の VBS はもう過去の技術だと思いますので、省略します。 最近だと HTML5 による「Windows 8 向けアプリ」に置き換わっているようですし。

ykckztzbkpkgm
質問者

お礼

ありがとうございます。

その他の回答 (2)

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.3

どう考えても参照設定してイベントが利用可能なVBAの方が出来る事が多いです。 でもVBSで済む処理なら起動時のもたつきが無いので移植するのもありかなと。

ykckztzbkpkgm
質問者

お礼

ありがとうございます。

  • x-1919
  • ベストアンサー率52% (91/173)
回答No.1

Excel の VBA で開発しようとしてると勝手に想像した回答。 慣れないうちは Excel VBA からで良いと思う。 VBScript には統合開発環境がなく、テキスト エディタで手書きするしかないが、VBA なら VBEditor を使った開発なのでインテリセンスも使えるし、デバッグも行える。 (VBScript 用のエディタが無いわけでもないが) ただ VBA には Office が必要だが、VBScript は Windows であればどのPC でも動かせる。 さらには、Excel の機能 (シートなど) やユーザーフォームをまったく使ってなくて、まっさらなワークシートから [Alt]+[F8] でマクロ実行ダイアログを開いてから実行するってのはホントに格好悪い。 そういったことで Excel の機能を使う必要がないのであれば、Excel VBA のコードでプログラムを作りこみ、デバッグを経て完成したら VBScript に移植するってやりかたが良い。 VBA コードから VBScript への移植は VBScript の作法さえ知ってしまえば実に簡単。

ykckztzbkpkgm
質問者

お礼

ありがとうございます。

関連するQ&A

  • VBAとVBSどちらがいいでしょうか?

    いまから覚えるとしたら、VBAとVBSどちらがいいでしょうか? VBAの方ができることが多そうですが、 必ずしもパソコンのオフィスが入ってるとは限らないし (キングソフトのオフィスなどもあり得るし) 必ずしもオフィスの捜査をしたいとも限りません。 (フォルダ操作やIE操作をしたい場合もある) このような条件の場合、どちらを学んだ方がいいのでしょうか? 正直どちらも多少はできるのですが、 これからどちらを一生懸命勉強して覚えたほうがいいのか教えてください。

  • VBAでアクティブなIEを操作

    現在VBAでIEを操作しようとしております。 URLやタイトルから指定してIEを操作することはできるようになりました。 今度はデスクトップの最善面にあるIEを操作したいと考えています。 下記を参考にして考えていますが、Hwndプロパティが読み取り専用らしく ハンドルから操作するIEを指定することができません。 http://okwave.jp/qa/q2147057.html そもそもVBAで可能なのかについても よく分からないのですが、恐れ入りますが代案を含め方法があれば教えてください。 ひとまず、煮詰まっていますが、 今残っているコードを載せておきます。 Public Declare Function GetForegroundWindow Lib "user32" () As Long ’--------------- Sub shell_test() Dim objie As Object Dim a as long Set obj = CreateObject("shell.application") a = GetForegroundWindow Debug.Print a End Sub

  • VBSでIE操作

    VBSでIEの操作を自動化するプログラムを作成しています。 ドロップダウンリストを選択する処理で、サイト側のソースが「name="birthday[Y]"」や「name="birthday[m]"」、「name="birthday[d]"」だった場合、単純な指定では動作しないのでしょうか? VBS上では「IEオブジェクト.Document.forms(0).("birthday[Y]").value = "1983"」という記述で試してみたところ、「オブジェクトがありません。:'Y'」とエラーになってしまいます。 birthday[?]は配列的なもので特別な指定の仕方があるのでしょうか? プログラムを組み始めて間もないため記述に不足等あるかと思いますが、アドバイスいただけると幸いです。

  • VBAでIE操作 IE以外はだめ?

    VBAでIE操作をしてるのですが vbaでブラウザを操作するならIEしか使えないですよね? 今、IEは危険とニュースでやっているので、躊躇しています。

  • 引き続きVBAで操作は可能なのでしょうか?

    普段Internet Explorerに対してVBAでIE操作をしてるのですが Internet ExplorerからMicrosoft Edgeへ変更された場合 引き続きVBAで操作は可能なのでしょうか?

  • エクセルVBA IEの操作

    こんにちは、 エクセルVBAでIEの操作の質問です。 IEで特定の文字列をクリックするマクロはどのような記述になりますでしょうか? たとえば OKWEBのランキングをクリックする場合はどのようになりますか? http://okwave.jp/mypage から 右上 ランキング という文字をクリックする場合です。 実際にやりたいことは、電子取引ホームページの (PHPで作成されているのかな? 動的なホームページです。)請求書番号を検索してそれを クリックして画面を保存という作業です。イントラなんで ここではURLを公表することが できないため、 OKWEBを一例とさせていただきました。  会社のパソコンでやりたいので UWSC等のフリーソフトも簡単に導入できないし、エクセルならVBA利用は制限されてないので VBAでやろうと考えてます。

  • IE9のダウンロード通知バーのVBからの操作

    IE9(Internet Explorer 9)でのファイルダウンロード時に表示される「通知バー」をVBAを利用して操作(ダウンロードボタンの押下)を行いたいと考えています。 http://okwave.jp/qa/q8035721.html こちらの質問を参考にして、自分の環境がWindows8 Office 2010 standard 64-bitなので、API宣言部分を変更するなどしてみたのですが、構文エラーとなってしまいます。 どなたか上記の記事のコードを64-bit版でも稼動する方法をご教示頂けないでしょうか

  • VBAでIEのメニューバーを使用・操作したい。

    VBAでIEのメニューバーを使用・操作したい。 お世話になります。 現在VBAでIEを起動・操作しようとしています。 そこで下記を教えて頂きたいのです。 IEのメニューバーにある (1)編集→全て選択 (2)編集→コピー を実行したいのですが、 VBAからどのように入力すれば、(1)、(2)ができるのでしょうか? 以上お手数ですがよろしくお願いします。

  • vbaでIEの操作

    こんばんは。やりたいことができないので教えてください。 vbaで指定のurlを開きたいです。 エクセル2003とIE8です。 Sub test001() Dim ObjIE As Object Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True ObjIE.navigate "http://jp.msn.com/" Do While ObjIE.Busy = True '表示させるまで待つ DoEvents Loop End Sub これでIEを立ち上げてURLを開けるのですが これでは新しいウインドウで開いてしまいます。 現在IEを立ち上げていて、上記のコードを実行すると 新たなタブで開きたいですが解決策はありますか? ObjIE.Visible = True が原因かと思い、これを抜かしてみましたが そうすると何も起こりません。 VBAで既に開いているIEの新しいタブでURLを開く方法をご教授ください!よろしくお願いします。

  • IEをVBAで操作する際、IEの表示エンコードをVBAから操作する事は可能でしょうか?

    IEをVBAで操作する際、IEの表示エンコードをVBAから操作する事は可能でしょうか?外国のホームページを見る際、URLを開いた後手動でエンコードを変更しないと見れないページがあり困っております。

専門家に質問してみよう