2009-07-21 24 views
0

Excel/SharepointグループのURLに画像/グラフを直接アップロードしようとしています。ここでのスクリプトは次のとおりです。Excel VBAでエラー70


サブExportChartJPG()

ActiveChart.Exportファイル名:= "http://sharepoint.ap.xxxxxxxxxxxxxx.com/xxxxxx/xxxxxxxxxxxxxx/Pictures/MyChart.jpg"、 _FilterName:= "JPEG"

End Subの


があることは可能ですか?そうでない場合は、別のやり方を提案できますか?ありがとう

答えて

0

ファイルにのみエクスポートできますが、URLにはエクスポートできません。したがって、ディスク上の一時ファイルにエクスポートして、Webサーバーにファイルを送信することができます。もちろん、ファイルを受け取る機能を持つにはWebサーバーが必要です。

URLからハングアップすると、それはSharePointサーバーですか?おそらくSharePointドキュメントライブラリですか?その場合は、ファイルをアップロードするには、次の方法のいずれかを使用するいくつかのコードを記述する必要があります。

VBAでは、MSXML3ライブラリはHTTPリクエストを実行できるので便利です。


EDIT:OK、あなたのコメントに基づいて、ここにあなたが始めるために簡単なのVBScriptスクリプトがあります。これにより、既知の場所にあるExcelワークブックが開き、最初のチャートシートがエクスポートされます。

これを「test.vbs」として保存し、実行するには適切なExcelファイルなどを作成してダブルクリックします。

Dim oExcel : Set oExcel = CreateObject("Excel.Application") 

Dim oWorkbook : Set oWorkbook = oExcel.Workbooks.Open("C:\test.xls") 

Dim oChart : Set oChart = oWorkbook.Charts(1) 

oChart.Export "C:\chart.jpg", "JPEG" 

oWorkbook.Close False 

oExcel.Quit 

私は私のコメントで言ったようにでスクリプトを作成する方が簡単かもしれないなど、VBScriptのは非常にVBAのようなものですが、欠点は強い型付けがありませんということですので、あなたがインテリセンスを得ることはありませんVBAの場合にはIntellisense(およびデバッガなど)があり、それをVBScriptに「移植」します。

+0

あなたの答えをありがとう、私はそれを行う方法を把握しようとします。とにかく、フォローアップの質問として、私はそれを自動化できますか?つまり、エクセルファイルからのイメージのエクスポートを自動化し、それを共有ライブラリにアップロードできますか?このシナリオでは、cmdで実行できるスクリプトを作成してからプロシージャを実行する必要があります。目標は全く人間の介入ではない。どうすればいい? (私は尋ね続けていると申し訳なく思っていますので、私に同行してもらいたいと思っています。ありがとうございます) –

+0

@perfs:はい、できますが、それは簡単なことではありません。 VBScript(VBAと非常によく似ています)を使用してExcelを起動し、ブックを開いて、グラフをエクスポートして、SharePointにアップロードします。そして、これは予定された仕事などによって打ち出されるかもしれません。私はあなたが一度に1つのステップを取ることをお勧めします(おそらくエクスポート部分だけで始まり、今はSharePointを忘れています)。そして、そこには多くのステップがあるように準備されています。 –

+0

「ハイブリッド」VBScript/VBAアプローチを使用することもできます。ワークブックにエクスポートとアップロードを行うVBAマクロを作成します。Excelを起動してマクロを呼び出すためのVBScriptスクリプトを作成します。 – codeape