ЯoomeR

プログラミング~実装とエラー解決と、時々、AI~

Chat-GPTからVBAのコードを教えてもらったでござる

Chat-GTPは言語と内容を指定すればコードを教えてくれる。

また、既存のコードの解説やリファクタリングもしてくれるので、独学者に便利この上ない。

以下は筆者とChat-GTPとのやり取りである。(あえて質問の仕方を簡素にしている)

筆者:ネットバンキングの残高をエクセルに転記する作業を自動化するには?

エクセルを使ってネットバンキングの残高を自動化するには、次のような方法があります。

1. スクリプトを使う: マイクロソフトVisual Basic for Applications (VBA) というスクリプト言語を使用して、エクセルのマクロとしてプログラムを作成することができます。マクロを使用すると、エクセルを開いたり、指定されたセルにデータを入力したり、データを取得することができます。

2. APIを使う: ほとんどのネットバンキングサービスは、プログラムからアカウント情報を取得するためのAPIを提供しています。APIを使用するには、アカウントのAPIキーが必要です。APIキーを取得したら、エクセルのVBAPythonなどのプログラミング言語を使用して、APIを呼び出すことで、アカウント情報を取得することができます。

3. データ取り込み機能を使う: エクセルには、Webサイトからデータを取り込む機能があります。この機能を使用するには、対象とするWebサイトがテーブル形式でデータを公開している必要があります。Webサイトからデータを取り込むには、エクセルの「データ」タブから「取り込みと変換」を選択し、指定するURLやテーブルのセル範囲を指定します。

4. データ統合ツールを使う: マイクロソフトのPower QueryやGoogleスプレッドシートのインポートWebデータなど、データ統合ツールを使用することで、Webサイトからデータを取り込むことができます。データ統合ツールを使用するには、データを取り込む元のWebサイトがAPIを提供している必要があります。

筆者:ネットバンキングの残高をエクセルに転記するマクロのコードを提示してください。

残念ながら、具体的なマクロのコードを提示することはできません。
お使いのネットバンキングサービスがどのようなデータを提供しているか、およびそのデータをどのように取得するかによって、必要なコードが異なります。
また、マクロを作成するには、VBAやその他のプログラミング言語の知識が必要です。

ですので、具体的なマクロのコードを作成するには、以下のようなステップを踏む必要があります。

1. ネットバンキングサービスが提供するデータを調べる: ネットバンキングサービスが提供するデータの種類や形式を調べます。APIを使用してデータを取得する場合は、APIのドキュメントを読んで、どのようなデータが取得できるかを確認します。

2. マクロを作成する: マクロを作成するには、VBAやその他のプログラミング言語を使用します。データを取得する方法や、取得したデータをどのようにエクセルに転記するかをプログラムに記述します。

3. マクロをテストする: 作成したマクロをテストして、正しくデータを取得できるかどうかを確認します。

4. マクロを実行する: マクロを実行することで、自動的にネットバンキングの残高をエクセルに転記することができます。

筆者:Webページから情報をコピペするVBAのコードを教えてください

Sub GetWebData()
  Dim ie As Object
  Dim element As Object

  ' Internet Explorer オブジェクトを作成する
  Set ie = CreateObject("InternetExplorer.Application")

  ' Webページを開く
  ie.Navigate "https://www.example.com"

  ' Webページが読み込まれるのを待つ
  Do While ie.ReadyState <> 4
    DoEvents
  Loop

  ' Webページから特定のテキストを取得する
  Set element = ie.Document.getElementById("some-element")
  If Not element Is Nothing Then
    ' 取得したテキストをエクセルのセルに転記する
    Cells(1, 1).Value = element.innerText
  End If

  ' Internet Explorer オブジェクトを終了する
  ie.Quit
End Sub

このコードは、Webページを開いて、特定のテキストを取得するだけの処理です。Webページから他の種類のデータを取得したい場合は、適切な方法を使用して、データを取得する処理を追加する必要があります。

また、このコードでは、IEオブジェクトを使用してWebページを開いています。他のWebブラウザを使用したい場合は、別の方法を使用する必要があります。

さらに、このコードはあくまでも例であり、実際のWebページでは、正しく動作しない可能性があります。Webページが異なる場合は、必要に応じてコードを修正する必要があります。