■44755 / inTopicNo.3) |
Re[2]: C#でのExcel操作#2 |
□投稿者/ 初心者 (92回)-(2009/12/17(Thu) 10:46:51)
|
魔界の仮面弁士 さん ありがとうございます。
■No44694 (魔界の仮面弁士 さん) に返信 > (Excelの)Applicationオブジェクトにある、DisplayAlerts プロパティが > False になっている場合、終了時に保存ダイアログは表示されません。 > > また、文書の内容を編集した後、その Workbook オブジェクトの > Saved プロパティを True にしていた場合、実際には未保存であっても > 変更無しとして扱われるため、保存確認のダイアログは表示されません。
Falseに設定していました。
> > >>C#で、Excelのsheetに表示された画像を削除したいのですが > Shape オブジェクトの Delete メソッドを呼び出してみてください。 > >>どのようにすればよいのでしょうか。 > 必要なコードが分からない場合には、マクロの記録を試してみてください。 > 生成される VBA コードから、C# に必要なコードをある程度推測できるかと思います。 > > 2007 よりも前のバージョン、つまり Excel 97, 2000, 2002, 2003 の場合には > [ツール]メニューの[マクロ]-[新しいマクロの記録] > をクリックした後、手動で画像を削除してから、[記録終了]をクリックします。 > > その後、[Alt]+[F11]キーでモジュールを表示してみると、 > ActiveSheet.Shapes("Picture 1").Select > Selection.Delete > のような VBA のコードが生成されていることを確認できるはずです。 > > 手動操作の記録なので、Select/Selection 操作が冗長ですが、 > 上記から、「Shapes コレクションから、Shape オブジェクトを選択」し、 > 「その選択されたオブジェクトの Delete メソッドを呼ぶ」という事が > 分かります。 > この場合、選択されたオブジェクトとは、Shapeの事ですね。 > > > なお、Excel 2007 の場合には、 > http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_01_2007.html > の手順で同様の機能を利用できるはずですが、残念ながら 2007 では > Shapes 関連の操作が記録されないので、今回はあまり役に立ちません。
試してみたいと思います。 丁寧な回答ありがとうございました。
|
|