トップ回答者
SharePointリストの列を、EXCELのセル(リスト)に取得したい。

質問
回答
-
こんにちわ
私の方がVBAをあまりよくわかっていないのでC#でのサンプルにさせて頂いたのですが、
REST自体は、VBAからでもできると思います。
yahooの知恵袋ですが、少しVBAでのRESTのサンプルが乗っていました
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1436703909
もう1つ手としては、Webクエリを利用することもできるかもしれないです。
こちらは前提があるので、少し面倒ですが、SharePoint上にテーブルタグで必要なマスタを
表示するHTMLページをまず作っておく必要があります。
それから、Excel2010のメニューから、データ>外部データの取り込み>Webクエリ と辿って、
取得したいSharePointのサイトを指定してみてください。
そうすると範囲を選択するように指示があるので、前提で作ったテーブルを指定するとEXCELに
そのテーブルを取り込むことができます。
取り込む処理はこのあたりが参考になりそうです
- 回答としてマーク MOSS_User 2011年7月10日 12:07
2011年7月6日 1:04
すべての返信
-
こんにちは
最近、SharePointとC#始めたばかりなので、あまり参考にならないかもしれませんが・・・
ご質問の内容からカスタムリストの値を取得できればいいのかなと勝手に推測してます。
(実装しない方法をお聞きされているのでしたら、すいません。)
SharePointのRESTでカスタムリストの内容を取得しているサンプルです
string uri = "http://サイトへのパス/_vti_bin/listdata.svc/顧客情報";
WebRequest req = WebRequest.Create(uri);req.Proxy = WebRequest.DefaultWebProxy; //必要ならプロキシの認証情報を付与してください
req.Credentials = new System.Net.NetworkCredential("アカウント", "パスワード", "パス");WebResponse res = req.GetResponse();
XmlDocument doc = new XmlDocument();
doc.Load(res.GetResponseStream());Hashtable list = new Hashtable();
foreach (XmlNode node in doc.GetElementsByTagName("m:properties"))
{
string no = "";
string username = "";
if (node.HasChildNodes == true)
{
for (int i = 0; i < node.ChildNodes.Count; i++)
{
XmlNode dataNode = node.ChildNodes[i];
if (dataNode.Name == "d:お客様番号") //ほしい列名を指定してます
{
no = dataNode.InnerText;
}
if (dataNode.Name == "d:担当者")
{
username = dataNode.InnerText;
}
}
}
list.Add(no, username);
}2011年7月5日 1:19 -
こんにちわ
私の方がVBAをあまりよくわかっていないのでC#でのサンプルにさせて頂いたのですが、
REST自体は、VBAからでもできると思います。
yahooの知恵袋ですが、少しVBAでのRESTのサンプルが乗っていました
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1436703909
もう1つ手としては、Webクエリを利用することもできるかもしれないです。
こちらは前提があるので、少し面倒ですが、SharePoint上にテーブルタグで必要なマスタを
表示するHTMLページをまず作っておく必要があります。
それから、Excel2010のメニューから、データ>外部データの取り込み>Webクエリ と辿って、
取得したいSharePointのサイトを指定してみてください。
そうすると範囲を選択するように指示があるので、前提で作ったテーブルを指定するとEXCELに
そのテーブルを取り込むことができます。
取り込む処理はこのあたりが参考になりそうです
- 回答としてマーク MOSS_User 2011年7月10日 12:07
2011年7月6日 1:04