• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロ EXCELセルの文字を自動でIE入力)

自動IE入力の方法とマクロのエラー解決方法

このQ&Aのポイント
  • マクロを使用してEXCELセルの文字をIEの入力フォームに自動的に記入する方法について調べました。
  • 実行できるマクロの例では、入力フォームのid属性を使用して記入することができました。
  • しかし、実行できないマクロの例では、入力フォームのname属性がid属性がなかったためエラーが発生しました。

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

  • ベストアンサー
  • nao-y
  • ベストアンサー率58% (111/190)
回答No.1

ObjIE.Document.Forms(0).Item("n1").Value = Worksheets("Sheet1").Range("A1") では駄目ですか? ページ内に<form>~</form>が複数ある場合はForms()のカッコ内の数字を 変える必要があるとは思いますが。

hiro7th
質問者

お礼

できました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • マクロ Twitterを自動でツイートする

    エクセルを使用してTwitterに自動でツイートするマクロを組みたいと考えています。 シンプルなマクロを考えているのですがよろしくお願いします。 Twitterには予めログインしている状態とします。 <マクロの流れ> (1)Twitterのサイトを呼び出しサイトを開く (2)ツイートする欄に「Sheet1」の「A1」のテキストをコピペ (3)ツイートボタンを押してツイートする になります。 とりあえず(1)、(3)はできそうなのですが・・・ (2)のツイートする欄に書き込むところが上手くいきません。 ObjIE.Document.getElementById("text").Value = Worksheets("Sheet1").Range("A1") 上記のようにマクロ組んだのですが・・・駄目でした。

  • IEの制御のマクロをつくっていますが

    ログインと作業実行を別々のマクロにしたいのですが マクロでログインを省略して次の画面にもっていきたいので objIE.navigate "https://........... とやると、セキュリティの関係だと思いますが画面がはじかれてしまいます。 ですのでいまはひとつの作業をするのにその都度ログインのマクロからになってしまいます。 何かいい方法がございましたらご教授ください。 Sub ログイン() Dim objIE As InternetExplorer Dim strUserName, strPassword As String strUserName = Range("AA1").Value strPassword = Range("AA2").Value Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.navigate "https://mobile.e..............’ログイン画面 IE_Complete objIE '表示終わるまで待つ objIE.Document.All.req_userId.Value = strUserName 'ユーザーネーム objIE.Document.All.req_password.Value = strPassword 'パスワード objIE.Document.All.LoginSubmit.Click 'クリック IE_Complete objIE ここまでログイン 上記を省略して以下からはじめたい Sub 作業実行() objIE.navigate "https://...........

  • VBAからIE操作でログインできない

    社内の業務管理システムにエクセルVBAでログインしようとしています、が、ログインはもとより、IDを入力する部分に私のID情報すら入力されません。 とりあえずID枠に入力する方法をアドバイスをお願いします。 ◆htmlソース <table> <tr> <td>ID</td> <td><input type="text" name="UserId" id="UserId" /></td> </tr> <tr> <td>PW</td> <td><input type="password" name="UserPass" id="UserPass" /></td> </tr> ◆VBAでは以下のいずれの文も失敗(ID入力枠に何も入らない。エラー発生。) ※右辺のD12セルには私のID情報を入力しています。 ObjIE.Document.all.UserId.Value = Worksheets("MyData").Range("D12").Value ObjIE.Document.all("UserId")(0).Value = Worksheets("MyData").Range("D12").Value ObjIE.Document.all("UserId").Value = Worksheets("MyData").Range("D12").Value ObjIE.document.forms(0).elements("UserId").Value = Worksheets("MyData").Range("D12").Value ObjIE.document.forms(0).elements("UserId")(0).Value = Worksheets("MyData").Range("D12").Value ObjIE.Document.getElementById("UserId").Value = Worksheets("MyData").Range("D12").Value ObjIE.document.all.Item("UserId").Value = Worksheets("MyData").Range("D12").Value 上記コードの何が間違っているのでしょうか? あるいは、上記の原因特定するために、何を試せばよいでしょうか? 宜しくお願いいたします。

  • VBAについて。セルにあわせてマクロを変更したい。

    VBAを使い、yahooの路線検索を閲覧しています。 出発地 目的地 府中 桜上水 【ボタン】 新宿 御徒町 【ボタン】 日暮里 巣鴨  【ボタン】 A列のセルを出発地 B列のセルを目的地 にそれぞれ入力しています。 C列の【ボタン】を押すとマクロが動くようにしたいと思っています。 下記のマクロの『Range("")』の部分を 3行目の【ボタン】をクリックしたら 『Range("A3")』 『Range("B3")』 に 4行目の【ボタン】をクリックしたら 『Range("A4")』 『Range("B4")』 に・・・ としたいと思っています。 200行近くあるので、ひとつひとつマクロを作成するのはとても大変で、色々と調べたのですが、どうにも解らず、助けを求めにきました。 また… 【ボタン】に関しても、特に意味はなく、使いやすいかなと思った程度ですので、同じような使い方をしている方で、便利にしようする方法などありましたら教えていただければと思います。 ------------------------------------------------------------------- Sub 路線検索() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://transit.yahoo.co.jp/" Do While objIE.Busy = True DoEvents Loop objIE.Document.all("from").Value = Range("A2").Value objIE.Document.all("to").Value = Range("B2").Value objIE.Document.all.tags("input").Item(17).Click End Sub -------------------------------------------------------------------

  • 【EXCELマクロ】空白のセルを削除する

    質問させてください。 ある特定のセルのみなにも記述されていない場合に削除するマクロを作成したいと思っております。 以下のようにコードを書いたのですがセルが削除されません。 知っていらっしゃる方いらっしゃいましたら教えていただけないでしょうか。 k = <<任意の数の場合>> If ThisWorkbook.Worksheets(<<【シートネーム】>>).Range("A" & k) = "" Then ThisWorkbook.Worksheets(<<【シートネーム】>>).Range("P" & k).Delete Shift:=xlToLeft End If If ThisWorkbook.Worksheets(<<【シートネーム】>>).Range("J" & k) = "" Then ThisWorkbook.Worksheets(<<【シートネーム】>>).Range("P" & k).Delete Shift:=xlToLeft End If                       : 削除後は左方向にシフトしたいと思っております。 以上、大変お手数をお掛けいたしますが宜しくお願い致します。

  • EXCEL2003 VBAで動作が速くなるようにマクロ記述したいのです

    EXCEL2003 VBAで動作が速くなるようにマクロ記述したいのですが、どのように行えばいいのでしょうか? Sheet1のA1からA300まで、関数によって計算されたデータが格納されています。 そのA1からA300の値(関数の計算結果のみ)を、コマンドボタンをクリックした時にSheet2のA1からA300にコピーしています。 コマンドボタンをクリックする度に、Sheet1のA1からA300までの値を、Sheet2に列を変えてコピーし、値を蓄積する方法を取っています。 以下のマクロを記述して走らせてみましたが、動作が遅いのが気になります。 コピーして貼り付けている動作が遅くなっているのでしょうか? もう少し早くなる方法はありますでしょうか? よろしくお願いします。 Sub CommandButton1_Click1() Dim I Dim N Worksheets("sheet1").Range("F1").Value = Range("F1").Value + 1 N = Worksheets("sheet1").Range("F1").Value For I = 1 To 300  Application.ScreenUpdating = False   Worksheets("sheet1").Cells(I, 1).Copy   Worksheets("sheet2").Cells(I, N).PasteSpecial Paste:=xlValues  Application.ScreenUpdating = True Next End Sub

  • EXCELのシート名自動入力

    EXCELでシート名にセルA1の値を自動入力したいので、 下記のマクロを使いましたが、いちいちマクロを実行しないと自動入力できません。 Public Sub SheetName() ActiveSheet.Name = Range("A1").Value End Sub これを、マクロを実行しなくても、セルA1の値が変わった時点で 自動的にシート名も変わるようにできないでしょうか?

  • コピペマクロを高速化したい(Excel)

    見よう見まねで以下のようなコードを書いてみたのですが、 これだと表示にやや時間がかかるので改善したいです。 ------ Sub コピペ() Dim i As Long i = Range("A1") Range("C12").Value = Worksheets("sheet2").Cells(i, 2).Value Range("D12").Value = Worksheets("sheet2").Cells(i, 3).Value Range("E12").Value = Worksheets("sheet2").Cells(i, 4).Value Range("F12").Value = Worksheets("sheet2").Cells(i, 5).Value Range("G12").Value = Worksheets("sheet2").Cells(i, 7).Value ------ こんな感じでコピペしたい値があと15個くらいあります。 コピー元とコピー先のセル配置には法則性があまりありません。 よろしくお願いします。

  • 他のブックでマクロを実行するには?

    以下のマクロを実行すると同一ブック内の他のシートに入力 されますが、これを他のブックのシートに入力されるように するには、具体的にどのようにすればいいのでしょうか? ご教授ください。 ---------------------------------------------------------------- Sub 入力() Dim LastRow As Long With Worksheets("sheet2") LastRow = Worksheets("sheet2").Range("B" & Rows.Count).End(xlUp).Row + 1 .Range("B" & LastRow).Value = Worksheets("sheet1").Range("B1").Value .Range("C" & LastRow).Value = Worksheets("sheet1").Range("B3").Value .Range("D" & LastRow).Value = Worksheets("sheet1").Range("B5").Value .Range("E" & LastRow).Value = Worksheets("sheet1").Range("B7").Value .Range("F" & LastRow).Value = Worksheets("sheet1").Range("B9").Value .Range("G" & LastRow).Value = Worksheets("sheet1").Range("B11").Value End With End Sub

  • Excelマクロにて文字列連結

    現在Excelのマクロにて文字列の連結を行っているのですが、 繋いだ文字列を改行を付けて連結を行いたいです。 セルとセルの中の文字列を改行を付けて連結するにはどうしたらいいのでしょうか? 例 A1セル「あああ」 B1セル「いいい」 C1セル「あああ       いいい」 Worksheets(sheet1).Range("C1").Value = Worksheets(sheet1).Range("A1").Value + Worksheets(sheet1).Range("B1").Value をすると 「あああいいい」と1行で表示されてしまいます。     ↑ ここに改行を入れるにはどうしたらいいのでしょうか? 以上、宜しくお願いします。

専門家に質問してみよう