- PR -

[VB.NET2003] Excelのファイル保存時にエラー

1
投稿者投稿内容
KIMERA
大ベテラン
会議室デビュー日: 2003/02/28
投稿数: 112
お住まい・勤務地: 兵庫県・大阪府
投稿日時: 2007-02-15 11:39
お世話になっております。

ExcelのCOMを使って、ファイル出力を行っているのですが、

1 出力ボタン押下

2 ファイル保存ダイアログ

3 データ出力

4 ファイル保存

5 Excel表示

というような流れになっています。
2でファイル選択時に既存のファイルを選ぶと「置き換えますか?」メッセージが表示されます。
そでは「はい」を選択し、処理を進めます。
次にExcelでのファイル保存時(WorkBook.SaveAs)にも、2と同様に確認メッセージが表示されます。
このときに「はい」以外を選択すると"HRESULT からの例外です"というエラーが起こってしまいます。

確認ダイアログが2回も表示されるしくみそのものも問題ですが、上記手順でも問題なく処理を行う方法はありますでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-02-15 11:55
引用:

KIMERAさんの書き込み (2007-02-15 11:39) より:

次にExcelでのファイル保存時(WorkBook.SaveAs)にも、2と同様に確認メッセージが表示されます。このときに「はい」以外を選択すると"HRESULT からの例外です"というエラーが起こってしまいます。
確認ダイアログが2回も表示されるしくみそのものも問題ですが、上記手順でも問題なく処理を行う方法はありますでしょうか?


Excel.Application インターフェイスの DisplayAlert プロパティを false にしましょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Blue
大ベテラン
会議室デビュー日: 2005/09/12
投稿数: 230
お住まい・勤務地: 知っている人は知っている
投稿日時: 2007-02-15 11:57
まず、メッセージボックスが表示されるのは
ApplicationオブジェクトのDisplayAlertプロパティで制御できます。

SaveAsで出現するメッセージボックスで「はい」以外を選択すると
エラーが発生するのはそういう仕様です。
try〜catchで処理するように変更してみてはどうでしょうか?

ただ、DisplayAlertをFalseにすれば、「はい」以外を選択するってことも
できませんが。


それか、プログラム上で、元から上書きするファイルを削除しておくとか。
KIMERA
大ベテラン
会議室デビュー日: 2003/02/28
投稿数: 112
お住まい・勤務地: 兵庫県・大阪府
投稿日時: 2007-02-15 12:34
じゃんぬねっとさん、Blueさん

ご回答ありがとうございます。
DisplayAlertプロパティについては存じませんでした。

とりあえずはBlueさんがおっしゃるよう、ファイルを削除するような仕組みに変えていたのですが、余計な処理を増やしたくはないので、DisplayAlertを使おうと思います。
1

スキルアップ/キャリアアップ(JOB@IT)