• 締切済み

VBAで同じnameを区別する方法を教えてください

現在、VBAを使用して、あるサイトへの新規登録が出来るようにコードを作成しているのですが、まったく初心者なので、早速分からないところが出てしまいました。 目的のページを開くことが出来たのですが、入力したいフォームのname名が同じフォームが二つあるので、目的のフォームに入力することが出来ません。 どのように対応したらいいか教えて頂けないでしょうか? 該当URL:http://seo-kenja.jp/signup/ 入力したいフォーム:メインコンテンツのフォーム部分 入力されてしまうフォーム:ヘッダーのフォーム部分 宜しくお願いいたします。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

getElementsByNameで得られた項目のうち、 idが"mail"でないほうが目的の入力欄だと 思います。 例 Dim 入力欄 For Each 入力欄 In doc.getElementsByName("name")   If 入力欄.id <> "name"Then Exit For Next

panmoba
質問者

お礼

回答ありがとうございます。 ただ、入力したいフォームは、idがついていないものです。 なのでnameで取得しようとするのですが、2つのフォームとも同じnameが入っているので、目的のフォームに入力が出来ません。

  • Gizensha
  • ベストアンサー率34% (207/608)
回答No.1

フォームのname意外の要素で区別をつけるしかなさそうです。 あるいはHTMLの構成を読んで分ける。

panmoba
質問者

補足

name以外の要素で区別を付けたいのですが、それがわかりません。 HTMLの構成を読むとは何でしょうか? 詳細を説明しているサイトがあれば、教えていただけると助かります。

関連するQ&A

  • フォーム上でVBAの編集するには?

    AccessのVBA内を編集したいのですが、VBAを直接開かないで行うことはできますでしょうか? フォーム上から、置き換えのような形にしたいです。 例)フォーム上で、aaa.txt ⇒ bbb.txt と入力すると、VBA内の該当文字が置き換えできる。 そして、○文字変更されました。とメッセージを表示したい。 VBAのコードを教えていただけたらありがたいです。 よろしくお願いいたします。

  • クエリならできるのにVBAだとエラー「#Name?」になる

    今日の処理件数を 「SELECT Count(Tメイン.処理日) AS 処理日のカウント FROM Tメイン HAVING ((((Int(Tメイン!処理日)=Date()))));」 これをクエリで実行したら問題なく表示できるのですが Sub 今日の件数() SQL = "SELECT Count(Tメイン.処理日) AS 処理日のカウント " & _ "FROM Tメイン " & _ "HAVING ((((Int(Tメイン!処理日)=Date()))));" Form_フォーム1.今日の件数テキスト.ControlSource = SQL End Sub だと 今日の件数テキストが「#Name?」になります。 そっくりそのままVBAで書いただけなのになぜエラーになるのでしょう? 不思議です。 解決策をご存知の方御回答宜しくお願い致します。

  • VBAエクセルのフォームについて

    お世話になっております。 VBAエクセルのフォームについて教えていただきたいのです。 VBAで入力のフォームを作ったのですが(TEXT BOXが4つ、コマンドボタン1つ、コマンドボタンを押したときに登録される用にしたい) 各シートの集計にしたい為、各シート(31のシートがあります)に入力フォームがあります、その各シートでの入力結果を1つのシートに 集計したいのですが、どの様なコードにしたらようか判りません。 素人のためお手数ですが、なるべく判りやすくお願いします。 よろしくお願いします。

  • VBA フォームに入力したものを検索しエクセルへ

    わたしはVBA初歩で現在勉強しているものです。 VBAでユーザフォームに検索窓を設置しました。 下記のことをできるようにしたいです。 (1)フォームの検索窓に文字を入力 (2)フォームのボタンを押す (3)googleで(1)の文字を検索(サイトはshowしなくてよい) (4)検索結果のすべてを   A列 番号   B列 タイトル   C列 URL というように順次流していく。 ↑このようなものを作りたいのですが、どのようなコード記述をすればよいでしょうか? 教えてください。 よろしくお願いいたします。

  • Access VBA フィルター

    Microsoft Access のVBAで、メインフォームで条件を設定するとサブフォームがフィルターされて開くというVBAを作っています。 SQL文を「SQLCode」という文字列型変数に入れました。 具体的には以下の内容がSQLCodeに入っています。 [担当者]=[Forms]![検索]![担当者] この変数をフォームにフィルターをかけて開くコードに入れたいのですが、以下の?の部分を教えてください。 Me!Fサブフォーム.Form.Filter. = ? Me!Fサブフォーム.Form.FilterOn = True

  • VBAのプロパティウィンドウについて

    VBAでプロパティウィンドウには ・Microsoft Excel Object ・フォーム ・標準モジュール があります。 ところで、下のプログラムですが、(1)の部分を標準モジュールに書き込み、フォームにあるコマンドボタンをクリックしたら、"test.xls"が表示されます。 しかし、(1)の部分をMicrosoft Excel Object のsheet1(sheet1)のコードに書き込み、プログラムを実行させると、フォームのコマンドボタンをクリックしても"test.xls"は表示されません。 これはなぜですか? (1)の部分のコマンドボタン1はsheet1に存在します。 (1)----------------------------------- Private file_name as string Private Sub CommandButton1_Click()   file_name="test.xls" UserForm1.Show End Sub (1)----------------------------------- フォーム Sub CommandButton1_Click() MsgBox file_name End Sub

  • Accessでのマウスホイールの無効化

     Access初心者です。  特定のフォームでマウスのホイールの動作を受付けなくしたく、 下記URLを参考にVBEにコードを貼り付けてみましたが、うまく 動きません。 http://www.accessclub.jp/bbs2/0027/beginter08905.html  VBE上でコンパイルすると、メッセージウィンドウが開き、 コンパイルエラー:  SubまたはFunctionの属性が適切ではありません。 と表示され、同時に、該当するフォームのVBAコードに追加で 貼り付けたコードのうち  WithEvents clsMouseWheel As CMouseWheel の部分が反転表示されます。   とりあえずOKとして、VBEを閉じ、再度プログラムを実行 させ、該当のフォームを開いてみても、やはり   イベントプロパティに指定した指揮 読み込み時 でエラーが発生 しました:SubまたはFunctionの属性が適切ではありません。 が表示されてしまい、うまく動きません。  どのようにすれば良いでしょうか?  コードの貼り付ける位置が間違っている等でしょうか?  どなたか教えてください、よろしくお願い致します。 以上

  • EXCEL VBAでデータをどんどん入力したいのですが・・・

    こんにちは。 EXCEL VBA の初心者です。 下記のURLのようなVBAを作りたいのですがうまくいきません。 http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_080.html 3~4項目のフォームを作って登録ボタンでシートにどんどん 記録されていくマクロを作りたいのです。 上記のURLを参考に作っていますがうまくできません。 どなたか助けて下さい。 よろしくお願いいたします。

  • ACCESSのサブフォームをVBAで・・・

    よろしくお願い致します。 ACCESSのサブフォームをVBAでテーブルに入力するにはどのようにしたら良いのでしょうか? イメージ的にはボタンをクリックするとメインのフォームとサブフォームの両方のデータが、別々のテーブルに入力されるようにしたいのですが・・・ ご回答ください。お願い致します。

  • アクセス2007 VBA 並べ替え

    テーブル1のフィールド1にデータを入れ それを元に帳票フォームを作成しました。 フォームヘッダー部分に 昇順ボタンと降順ボタンを作り、 ボタンを押すごとに並び替えを行いたいのですが どのようなVBAコードを書けばいいのかわかりません。 命令分としては、 「フォームに表示されるテーブル1のフィールド1データの 昇順に並べ替える」です。 SQLを使う方法ではなく、 DocmdかacCmdを使う方法が希望です。 アクセスのヘルプの ----------------------------------------- Access 開発者用リファレンス Form."OrderBy/並べ替え" プロパティ ----------------------------------------- を見ると、 ----------------------------------------- 構文 式.OrderBy 式 Form オブジェクトを表す変数です。 ----------------------------------------- と書いてありますがこの式がわからないのでご教授よろしくお願いします。