質問: rawText _ & "&AWSAccessKeyId=" & AWSKeyId _ & "&Action=GetLowestOfferListingsForASIN" _ & "&ItemCondition=New" _ & "&MarketplaceId=" & MarketPlaceID _ & "&SellerId=" & SellerId _ & "&SignatureMethod=HmacSHA256" _ & "&SignatureVersion=2" _ & "&Timestamp=" & timestamp _ & "&Version=" & APIVersion End sub ``` 、 でしょうか。全くあっているような気はしないんですが、 まず、kernel32とは、なんでしょうか。インストールなどする必要があるのでしょうか。 出品者ID:マーケットプレイスID:開発者アカウントID: 5511-1652-9668:AWSアクセスキーID;秘密キー: これらをA1からよこに並べたいのですが、 アドバイスお願いいたします。
回答: Declareについて まずDeclareについてですが、これは外部DLLの提供する関数を利用するための宣言です。 ちなみに`Decrare Sub Sleep ~`についてはこの1行で完結しています。 ここでは`Kernel32.dll`というWindowsのシステムDLLが提供する`Sleep`関数を使用できるように宣言しています。 宣言してはいますが、おそらく参照されているコード内で利用している箇所は存在しません。 Sleep関数は一定時間処理を中断する命令で、Web参照時の処理待ちなどでもよく使用されます。 今後も使う予定がなければ宣言しなくても問題ありません。 なお`Kernel32.DLL`はWindowsに標準で提供されているDLLですので、特にインストールなどは必要ありません。 ※C:\Windows\System32フォルダあたりを覗くと入っていると思います。 Subについて 先にも書いた通り`Decrare Sub Sleep ~`はこの1行で完結しています。 提示いただいたコードではこの`Declare Sub`に対して`End Sub`を記述しているように見えますが、`Declare Sub`に`End Sub`は記述しません。 参考にされたコードでは別に関数`Sub getLowestPriceByMws()`が宣言されており、`End Sub`はこれに対するものです。 作成したコードにも関数名をつけてあげましょう。 コードについて 今回行いたい内容は、Webページから取得した情報をExcel出力したい、ということですよね? おそらく参考にされたコードはこれとは逆で、Excel上のセルに記載してある情報からWebページを参照するものだと思います。 ※作成している文字列`rawText`も、web参照するためのパラメータのようです。 なお参考にされたコードでは最後の方の処理でWeb参照したページの情報をXML解析を行い`価格`などの情報を取得しています。 これと同様に`出品者ID`、`マーケットプレイスID`、・・・`秘密キー`といった情報が今回参照するwebページの情報のどこから取得できるのであれば実現できると思います。 WMSについての知識がないため「どうすればとれる」といったアドバイスまではできませんが、参考になれば幸いです。