2

次のコードを使用して、ワークブックをメモリから保存しようとしています。

 this.Target.WorkBook.SaveAs(this.Target.WorkBookPath, Interop.XlFileFormat.xlWorkbookNormal,
                        Type.Missing, Type.Missing, 
                         Type.Missing, Type.Missing, 
                          Interop.XlSaveAsAccessMode.xlNoChange,
                         Type.Missing,Type.Missing,Type.Missing,Type.Missing);

this.Target.WorkBookPath は構成ファイルから次のように読み取られます。

D:\Devzone\rpt_SalesMargins2

しかし、私はこのエラーメッセージを受け取ります:

ファイルにアクセスできませんでした。次のいずれかを試してください:\n\n• 指定したフォルダが存在することを確認してください。\n• ファイルを含むフォルダが読み取り専用でないことを確認してください。\n• ファイル名に次の文字が含まれていないことを確認してください: < > ? [ ] : | または *\n• ファイル/パス名が 218 文字を超えないようにしてください。

「:」を使用できない場合、どうすれば D:\ を指定できますか?

更新/サニティチェック

構成

正気

この画像では、ファイルは rego と呼ばれています。いくつかのランダムな名前を試してみましたが、すべて相対パスとして機能しますが、絶対パスでは失敗します。

4

1 に答える 1

0

ドライブセパレータとしての : に問題があるとは思いません。マイクロソフト サポートから:

たとえば、ファイルのパスは次のようになります: 'c:\excel\personal...[my workbook.xls]up_to_31_char_sheetname'!$A$1

メモ この現象は、パスに角かっこがある場合にも発生します。(私のものを強調)

http://support.microsoft.com/kb/213983

彼らは、ドライブ文字を含む不適切なパスの例を使用し、不適切なのはパス内の[であると述べています。

使用しようとしているフルパスは何ですか?

于 2012-07-26T02:23:48.043 に答える