C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

C# Excelの数式コピーについて (VLOOKUP)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■97555 / inTopicNo.1)  C# Excelの数式コピーについて (VLOOKUP)
  
□投稿者/ ぽめ (1回)-(2021/06/06(Sun) 10:47:58)
ぽめ さんの Web サイト

分類:[C#] 

C#でCOM参照によるExcel操作自動化の開発を行っています。
VLOOKUPの数式(外部ブック参照)をコピーした時に「値の更新」ダイアログが表示されて困っています。
Workbooks.Openメソッドの引数でUpdateLinksオプションを0に設定し、Application.DisplayAlerts=Falseにしても表示されてしまいます。

VLOOKUP参照先のファイルが存在していなくても値の更新ダイアログを非表示にする設定などがあればどうかご教授お願いいたします。

コード抜粋
// ファイルオープン
Application xlApp = new Application();
Workbooks xlBooks = xlApp.Workbooks;
Workbook xlBook = xlBooks.Open(
    ExcelFileName, 0, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing
);
Application.DisplayAlerts=False

引用返信 編集キー/
■97557 / inTopicNo.2)  Re[1]: C# Excelの数式コピーについて (VLOOKUP)
□投稿者/ 魔界の仮面弁士 (3120回)-(2021/06/06(Sun) 19:22:48)
No97555 (ぽめ さん) に返信
> Workbook xlBook = xlBooks.Open(
>   ExcelFileName, 0, Type.Missing,
>   Type.Missing, Type.Missing, Type.Missing,
>   Type.Missing, Type.Missing, Type.Missing,
>   Type.Missing, Type.Missing, Type.Missing,
>   Type.Missing, Type.Missing, Type.Missing
> );
> Application.DisplayAlerts=False

DisplayAlerts の設定は Open 前に行わないと意味がないですよ。
それに「=False」ではなく「= false;」ですよね。


> Workbooks.Openメソッドの引数でUpdateLinksオプションを0に設定し、
> Application.DisplayAlerts=Falseにしても表示されてしまいます。

自動起動マクロがあるかもしれないので、
 xlApp.AskToUpdateLinks = false;
 xlApp.EnableEvents = false;
 xlApp.ScreenUpdating = false;
も加えてみてはどうでしょう。
引用返信 編集キー/
■97606 / inTopicNo.3)  Re[2]: C# Excelの数式コピーについて (VLOOKUP)
□投稿者/ ぽめ (4回)-(2021/06/12(Sat) 18:54:20)
魔界の仮面弁士さん、返信遅れて申し訳ありません。

ご教授いただいた設定を追加したところ、ダイアログが出てこなくなりました。
大変助かりました、ご回答ありがとうございました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ