2016-12-07 11 views
0

SharePointにあるブックを参照しようとしていません。VBAでオンラインブックを参照する方法

私は、ファイルを開くためにこれを使用することができます:

Workbooks.Open("http://www.website.com/File.xlsx") 

しかし、私は、ファイルを開かずに実行したい...開放せずにそのオンラインワークブックを利用する方法はありますか?

私は(それがコードのように現れますので、複数行に文字列を分割する必要がありました)試してみました

Workbooks("http://www.website.com/File.xlsx")._ 
Sheets("Sheet1").Range("A1").Value 

参照と私はワークブックセクションにウェブサイトを追加しようとした場合、エラーを取得します(通常は実行時エラー9、添字が範囲外です)。私は事前にブックを定義しようとして同じエラーが発生しました:

Dim wbk as Workbook 
Set wbk = Workbooks("http://www.website.com/File.xlsx") 

助けていただければ幸いです!

+0

HTTPをホストしているブックから開くことはできません.HTTPプロトコルにはこれをサポートするものは何もありません(何らかのサーバーサイドコーディングが存在しない場合)。ワークブックを開く際の問題は何ですか? –

答えて

1

短い答え:あなたはワークブックを分析するために、「Workbooks.Open(必要


ソリューション説明:

workbooksは、それ自体で最後の命令ではなく、共通の言語を使用して、あなたはそのオブジェクトで何をしたいのかを指定する必要があります - 第三者で話すようなもの - "Workbook get open"(Workbooks.Open) "Workbookは新しいシートを追加します"(Workbooks.NewSheet)など。ご覧のように、「ワークブック」はそれ自体では機能しません。「注文」(この場合はイベント)を待っています。あなたはofficial documentationでワークブックでできることのリストを見ることができます。

さらなる説明:
コード自体は可能あなたがやろうとしているかを知ることはできません。オブジェクトをExcelアーカイブとして分析するか、webpage itselfで実行する方法を見つける必要があります。これは複雑で、IEでしか実行できません。APIがありません。あるプログラムで別のコマンドにコマンドを送信するためのコード)。

+1

その説明をありがとう。ローカルワークブックを定義することはできますが、オンラインワークブックの問題に取り組んでいました。この特定のスプレッドシートはSharePoint上にあるので、VBAインターフェイスを作成するためのAPIがある場合は、それを知っていますか?私は自分でちょっと掘り下げますが、あなたはすでにそのことについて知識があり、私の読書よりも速いかもしれません。 – Cyril

+0

ええ、私はあなたと同じ問題を抱えていましたが、それを超える可能性がある残業を読んだことはありますが、私はそうするための効果的な方法が見つからず、エクセル用のAPI - 多くのマクロがあるため、私のワークブックには、Excelで開く方が良いです。私の回避策は、あなたのコード内でscreenupdating = falseで、あなたのものを行い、次にブックを閉じることです。悲しいことに、それを達成する他の方法はありません。 – Sgdva

+1

スクリーン更新のヒントをありがとう。私はあなたの答えを受け入れるでしょう。すべての情報をありがとう! – Cyril

関連する問題