tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルExcelブックのオープンでエラーが発生します
記事No10456
投稿日: 2011/03/10(Thu) 09:34
投稿者やま
ある特定の端末で、VB.NET 2005 で Excelブックをオープン
しようとすると以下メッセージが表示されてしまいます。
色々調べてみましたが、どうしても分かりません。できましたら、
どなたかご教授お願い致します。

※ エラーメッセージ
c:\test.xls にアクセスできません。次のいずれかの理由が考えられます。
ファイル名またはパスが存在しません。
ファイルが他のプログラムによって使用されています。
保存しようとしているブックと同じ名前のブックが現在開かれています。

・環境
  → OSは、2008 Serverです。
  → Excelバージョンは、2007です。
 → 動作しないのは1台のサーバ機だけです。他3台のサーバ機では
     動作しています。
 → 上記ファイルは存在します。
 → アクセス権限は特に設定していません。手動でのブック更新も可能です。
 → エラーメッセージにあるような、上記ブックが既に開かれていたりする事は
     ないです。
 → Excel は、com参照し、オープンしようとしています。

すみません。よろしくお願い致します。

[ツリー表示へ]
タイトルRe: Excelブックのオープンでエラーが発生します
記事No10457
投稿日: 2011/03/10(Thu) 13:20
投稿者花ちゃん
> c:\test.xls にアクセスできません。次のいずれかの理由が考えられます。
> ファイル名またはパスが存在しません。

どのようなコードを書いてオープンされているのでしょうか?
パス名は、直接指定されているのでしょうか? 変数を使って、でしょうか?
開発環境と実行環境をExcel のバージョンを含めて明記して下さい。
動作している PC と 動作していない PC の環境の違いは何がありますか?

.xls の拡張子のファイルという事は、Excel 2003 等で作成されたファイルでしょうか?
試しに、新規にファイルを作ってをオープンした場合、又 test.xls 作り直した場合等で
どうなるかも試して、問題を切り分けてください。

当然、エラー内容で検索して調べておられますよね。
ちょっと便利な検索ソフト(http://hanatyan.sakura.ne.jp/yybbs/read.cgi?no=117)
を使って、キーワード【Excel ファイル名またはパスが存在しません】での検索結果(当サイト内・外の検索でも同じ)

  ヒット件数    検索対象サイト名    検索結果のURL(短く変換しています)
          6,330 件  ■ウェブ全体から検索       http://tinyurl.com/45emnkk
          2,280 件  ●msdn.microsoft.com/      http://tinyurl.com/4gkdxf8
            101 件  わんくま同盟               http://tinyurl.com/4tqdm95
             33 件  moug モーグ                http://tinyurl.com/4a9nvs3
             20 件  DOBON.NET                  http://tinyurl.com/4ft2k8u
             20 件  ★VBレスキュー(花ちゃん)   http://tinyurl.com/4l64teu
             20 件  アットマーク・アイティ     http://tinyurl.com/4c5kee7
              8 件  Programing Library         http://tinyurl.com/4en5pzj
              6 件  Visual Basic 中学校        http://tinyurl.com/4nub26x
              3 件  pin's Laboratory           http://tinyurl.com/4prza2m
              1 件  C# と VB.NET の入門サイト  http://tinyurl.com/49ubfhm
--------------------------------------------------------------------------------

[ツリー表示へ]
タイトルRe^2: Excelブックのオープンでエラーが発生します
記事No10458
投稿日: 2011/03/10(Thu) 14:19
投稿者やま

ありがとうございます。

コードは以下のように書いています。

プロジェクト→参照の追加→COM→Microsoft Excel *.* ObjectLibrary を参照
Public xlApp As New Excel.Application
Public xlBooks As Excel.Workbooks
Public xlBook As Excel.Workbook
Public xlSheets As Excel.Sheets
Public xlSheet As Excel.Worksheet

xlApp = New Excel.Application
xlBooks = xlApp.Workbooks
xlBook = xlBooks.Open("c:\test.xls")
xlSheet = xlBook.Worksheets(1)
xlSheets = xlBook.Worksheets

開発環境  XP +VB2008 + Office2007
実行環境  2008Server + フレームワーク3.5 + Office2007
PC と 動作していない PC の環境の違いですが、大きな違いはないように思えます。
エクセルファイルを作り直しても結果は同じでした。

>> ちょっと便利な検索ソフト(http://hanatyan.sakura.ne.jp/yybbs/read.cgi?no=117)
をダウンロードさせていただきました。
これから、使用させていただきたいと思います。

今回の現象と以下ページの現象が似ている事から、
初心者のため説明の意味がよく分からなかったのですが、
おそらく上記コードの記述だとExcelのオープンもできない場合が
あるのではないかと思いました。他方法も模索してみます。ありがとうございました。

> 無人の非対話型クライアント アプリケーションまたはコンポーネント (ASP、ASP.NET、DCOM、および NT サービスを含む)
>  からの Microsoft Office アプリケーションのオートメーションに関して、推奨もサポートも行っていません。
>http://social.msdn.microsoft.com/Forums/ja-JP/vsgeneralja/thread/6ffe4bc5-5ae8-4861-91af-ce7ca7a62db8/

[ツリー表示へ]
タイトルRe^3: Excelブックのオープンでエラーが発生します
記事No10459
投稿日: 2011/03/10(Thu) 16:33
投稿者花ちゃん
> エクセルファイルを作り直しても結果は同じでした。

新規の空のファイルを保存先を変更して試しても同じでしょうか?
C:\ ではなく、Documents フォルダー等に変えてみるとか。
今までも、そのPCからは、まったく、Excel ファイルを操作できなかったということ
ですか?

今回の件とは関係ないかも知れませんが、Option Strict On での環境でも
エラーの波線等は表示されませんか?
Imports Microsoft.Office.Interop は、先頭に書いておられますか?

>動作していない PC の環境の違いですが、大きな違いはないように思えます。
同じなら、同じように動作するとは思うんですが?
サービスパックとかも同じですか?

[ツリー表示へ]
タイトルRe^4: Excelブックのオープンでエラーが発生します
記事No10460
投稿日: 2011/03/10(Thu) 17:33
投稿者やま
>新規の空のファイルを保存先を変更して試しても同じでしょうか?
>C:\ ではなく、Documents フォルダー等に変えてみるとか。
試してみましたが、同じでした。

>今回の件とは関係ないかも知れませんが、Option Strict On での環境でも
>エラーの波線等は表示されませんか?
>Imports Microsoft.Office.Interop は、先頭に書いておられますか?
書いていました。

うまくいくサーバとうまくいかないサーバがあり、
おそらく、なにか環境の差があるのだと思います。
結果、運用で対応していただく事になりました。

ご親切に色々ありがとうございました。

[ツリー表示へ]
タイトルRe^5: Excelブックのオープンでエラーが発生します
記事No10462
投稿日: 2011/03/10(Thu) 18:56
投稿者花ちゃん
> >新規の空のファイルを保存先を変更して試しても同じでしょうか?
> >C:\ ではなく、Documents フォルダー等に変えてみるとか。
>  試してみましたが、同じでした。

下記のようなことは試されたのでしょうか?

    Dim fn As String = "c:\test.xls"
    If System.IO.File.Exists(fn) Then
        MessageBox.Show("ファイル[" & fn & "]は存在します。")
    Else
        MessageBox.Show("ファイル[" & fn & "]は存在しません。")
    End If

[ツリー表示へ]
タイトルRe^6: Excelブックのオープンでエラーが発生します
記事No10467
投稿日: 2011/03/10(Thu) 22:01
投稿者やま
最初に、ファイルパスを疑ってみまして、
ご指摘いただいたようなファイル存在を確認する
処理を入れており、プログラムでは、ファイルを認識
しているようでした。

色々ありがとうございました。

[ツリー表示へ]