Googleスプレッドシートと通信するコードを作成しようとしています。私たちは自分たちの側でたくさんの処理を行い、次にデータをクライアントにこのスプレッドシートに渡します。それを自動化したいのです。これは簡単なはずです。
このページで、Googleは「すでに取得したSpreadsheetEntryがあれば、このスプレッドシート内のすべてのワークシートのリストを次のように印刷できます」と述べています。
AtomLink link = entry.Links.FindService(GDataSpreadsheetsNameTable.WorksheetRel, null);
WorksheetQuery query = new WorksheetQuery(link.HRef.ToString());
WorksheetFeed feed = service.Query(query);
foreach (WorksheetEntry worksheet in feed.Entries)
{
Console.WriteLine(worksheet.Title.Text);
}
家で続いて、私は始めます:
Dim link As AtomLink = Entry.Links.FindService(GDataSpreadsheetsNameTable.WorksheetRel, "")
Dim wsq As New WorksheetQuery(link.HRef.ToString)
そして、実行がその2行目に到達すると、「オブジェクト参照がオブジェクトのインスタンスに設定されていない」ことがわかります。FindServiceメソッドは何も返しません。また、GDataSpreadsheetsNameTable.WorksheetRelを見ると、「http://schemas.google.com/spreadsheets/2006#worksheetsfeed」の定数値です。
やりたいことをやっつけてしまうほどではありません。たとえば、フィードとは何ですか?ワークシートは本当にExcelの命名法に基づいていると思いますか?そのようなもの。しかし、問題を引き起こしている可能性のあることがいくつかあります。
- C#メソッドは「... FindService(GDataSpreadsheetsNameTable.WorksheetRel、null);」を呼び出します。そのヌルについてはよくわかりません。文字列が必要なため、VBで「」を使用しましたが、それが正しいかどうかはわかりません。
- そのschemas.google.comURIはライブではないようです。少なくとも、ブラウザにパンチすると、サーバーが見つかりません。しかし、繰り返しになりますが、私はそれが何をしようとしているのか正確にはわかりません。
それで、何か考えはありますか?Googleスプレッドシートを読み取るVBコードと、初心者に指示する時間を持っている人はいますか?ネット上に浮かんでいる有用なサンプルコードが本質的にないことに驚いています。
読んでくれてありがとう!