kitco.com では、金やその他の金属のリアルタイム価格見積もりを提供しています。金の価格に基づいて計算するスプレッドシートがあり、このリアルタイムの値が Excel シートで自動的に更新されるようにしたいと考えています。Web サイトから「外部データを取得」しようとしましたが、うまくいきませんでした。何かアイデアはありますか?
編集追加: Kitco には、Windows タスクバーにリアルタイムの相場を表示する KCAST というガジェットがあります。タスクバーからそれらの値をキャプチャしようとしましたが、これも機能しませんでした。Kitco が API またはフィードを提供していれば、それが可能になるかもしれません。
答え1
これは、Excel 2003 の Web クエリを使用して実行できます。これは機能します。ページの左側にあるテーブルを選択します。
次に、必要な Excel 範囲にインポートします。必要に応じて更新するか、マクロを設定して簡単に処理することができます。これにより、Bid 価格と Ask 価格が 2 つの別々のフィールドにインポートされるため、どちらもライブ数値として使用できます。
答え2
Excelのマクロ言語であるVisual Basic for Applicationsでプログラミングできる場合は、ActiveX XMLHttpRequest オブジェクトを使用する任意の URL にアクセスするために Internet Explorer によって提供されます。
厳密に「正しい」方法ではありませんが、正規表現を作成するWeb ページのソース コードから金の価格を抽出します。最後に、正しいセルを更新します。
答え3
以下の Google ドキュメントのインポート機能を使用してください。
テーブル番号は変更される可能性があるので注意してください。必要なテーブル データ (ゴールド スポットなど) を見つけた後、ページ ソースを検索して正しいテーブル番号を見つけてください。テーブル番号は、Chrome ブラウザの検索の検索結果に表示されます ( </table>
CTRL-F 検索機能を使用した場合、24 件中 22 件など)。
=ImportHtml("http://www.kitco.com/market/"; "table";20)
答え4
Kitco の Web サイトは最近フォーマットを変更し、今後も変更される可能性がありますが、今日 (2024 年 1 月 31 日) 時点では、金のライブ入札価格については Google スプレッドシートで次のように機能します。
=IMPORTXML("https://www.kitco.com/charts/livegold.html", "//h3[@class='text-4xl font-mulish font-bold leading-normal tracking-[1px] mb-[3px]']"
銀の場合は次のようになります。
=IMPORTXML("https://www.kitco.com/charts/livesilver.html", "//h3[@class='text-4xl font-mulish font-bold leading-normal tracking-[1px] mb-[3px]']")