質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

解決済

1回答

901閲覧

【VBA】ダブルクオーテーション内で変数を使いたい

m-nm0n

総合スコア15

変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

0クリップ

投稿2021/07/25 00:47

VBAでChromeを自動操作するツールを製作中なのですが、

以下のコードの(1)のところを変数に変えたく、

VBA

1driver.FindElementByCss("body > div.default-container > main > div.l-content > section > div.items-box-content.clearfix > section:nth-child(1) > a > figure > img").Click

以下のように「&」を使って変数「product_counts」を埋め込んだのですが、

VBA

1driver.FindElementByCss("body > div.default-container > main > div.l-content > section > div.items-box-content.clearfix > section:nth-child("&product_counts&") > a > figure > img").Click

以下のようなエラーが出てしまいます。

コンパイルエラー 修正候補 区切り記号または)

解決策をご存じの方は、ぜひ教えていただけますと幸いです。
よろしくお願いいたします。

念のため、ここまでのコード全部を以下に貼っておきます。

VBA

1'待機 2#If VBA7 And Win64 Then 3Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr) '64ビットのエクセルで呼び出し 4#Else 5Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long) '32ビットのエクセルで呼び出し 6#End If 7 8Sub mercari_auto_comment_tool() 9 10Dim time As Long 11 12'シートを移動 13 14Sheets("商品情報").Select 15 16If Cells(2, 1) = "" Then 17 18 MsgBox "入力してください。もしくは、入力内容に不備があります。 " 19 20Else 21 22 Sheets("商品情報").Select 23 24 25 'ループ処理 URL開く 26 27 Dim i As Integer 28 Dim tim As Integer 29 30 i = 2 31 tim = i 32 33 34 Do While tim = i 35 36 Sleep 1500 37 38 'URLを開く 39 40 Dim driver As New Selenium.ChromeDriver 41 42 driver.SetCapability "debuggerAddress", "127.0.0.1:9222" 43 44 driver.Start "chrome" 45 46 driver.Get Cells(i, 6) 47 48 49 'ループ処理 商品詳細開く 50 51 Dim product_counts As Integer 52 Dim product_variable As Integer 53 54 product_counts = 1 55 product_variable = product_counts 56 57 58 '商品詳細開く 59 60 driver.FindElementByCss("body > div.default-container > main > div.l-content > section > div.items-box-content.clearfix > section:nth-child("&product_counts&") > a > figure > img").Click 61 62 Stop

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

& が結合演算子として解釈されるように、前後に空白を入れてコーディングしてみて下さい。

VBA

1driver.FindElementByCss("body > div.default-container > main > div.l-content > section > div.items-box-content.clearfix > section:nth-child(" & product_counts & ") > a > figure > img").Click 2

投稿2021/07/25 01:02

sazi

総合スコア25195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m-nm0n

2021/07/25 01:14

ありがとうございます! 解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問