Excelの列の複数の値(例のような)を任意のサイトのフォームに入力するvbaを作成予定です。
Excelの列の複数の値(例のような)を任意のサイトのフォームに入力するvbaを作成予定です。 下記vbaでは「クラスはオートメーションまたは予測したインターフェースをサポートしていません」とエラーが起きてしまい、処理を実行できません。 エラーの解決策について教えて頂けると幸いです。 例) A列 1111 2222 3333 4444 Sub test() Dim Driver As New Selenium.ChromeDriver Dim L As Range Set L = Columns(17) Driver.Get "https://www.stock-life.net/tool/portfolio2/portfolio.html?size=mini" Set elm = Driver.FindElementByXPath("/html/body/form/center[1]/table/tbody/tr[2]/td[2]/textarea") elm.Clear elm.SendKeys L 'テスト用に一時停止 MsgBox ("テスト終了") End Sub
Visual Basic・57閲覧
ベストアンサー
サンプル A列のデータを入力する場合 Sub test() Dim crm As New Selenium.ChromeDriver crm.Get "https://www.stock-life.net/tool/portfolio2/portfolio.html?size=mini" With crm.FindElementByCss("textarea") .Clear .SendKeys [TEXTJOIN(" ",TRUE,A:A)] .Submit End With MsgBox ("テスト終了") End Sub ---- 間違え1 例) A列 1111 2222 3333 4444 ⇑ A列にデータが存在するのに なんで Columns(17) 間違え2 .SendKeys は文字列しか指定できない elm.SendKeys Range("A1:A4") ⇑ こんな使い方はできない
例えば セル範囲のテキストをtextareaに入力する場合 Dim crm As New Selenium.ChromeDriver crm.Get "https://www.stock-life.net/tool/portfolio2/portfolio.html?size=mini" Selection.Copy With crm.FindElementByCss("textarea") .Clear .SendKeys crm.GetClipBoard .Submit End With こんな方法も使えなくはないけど
質問者からのお礼コメント
前回に引き続きアドバイスありがとうございます。 .SendKeysは文字列しか扱えないことを知らず、.Rangeで列の取得できるかと思っておりました。 サイトの入力フォームは銘柄コードの間に半角が必要なため、Excelで銘柄コードの前に半角を入力していましたが、vbaで半角入力も行うこともできるのですね! ありがとうございました。
お礼日時:5/20 17:13