プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

VC#2010ExpressでExcelを操作するプログラムを組んでいます。

アクセスして読み書きするところまではできましたが、
下記の三点が解りません。ご教授ください。

1.特定のセルの書式設定を『通貨』にする方法
2.指定したシートの任意のRowにオートフィルタを設置する方法
3.指定したセル位置で『ウインドウの分割、解除』、『ウインドウの固定』を行う方法

以上、よろしくお願いいたします。

A 回答 (1件)

ExcelをC#から扱う,つまりExcelをCOMでオートメーションするというのは,


内部のVBAで記述するのとほとんど同じ方法で可能です。

このため,操作をマクロで記録してVBAコードを見るのが,
オートメーション方法を知る一番簡単な方法になります。

1. Range.NumberFormatLocalに通貨用の書式を代入します。
ref) http://msdn.microsoft.com/ja-jp/library/office/f …

in VBA
Selection.NumberFormatLocal = "\#,##0;\-#,##0"

in C#
// Range r;
r.NumberFormatLocal = "\\#,##0;\\-#,##0";

2. Range.AutoFilterを呼び出します。
ref) http://msdn.microsoft.com/ja-jp/library/office/f …

in VBA
Range("A1").Select
Selection.AutoFilter

in C#
// Range r;
r.AutoFilter();

3-1. 分割および解除:Window.SplitColumnおよびWindow.SplitRowを指定します。
ref) http://msdn.microsoft.com/ja-jp/library/office/f …
ref) http://msdn.microsoft.com/ja-jp/library/office/f …

in VBA
With ActiveWindow
.SplitColumn = 1
.SplitRow = 3
End With

With ActiveWindow
.SplitColumn = 0
.SplitRow = 0
End With

in C#
// Window w;
w.SplitColumn = 1;
w.SplitRow = 3;

// Window w;
w.SplitColumn = 0;
w.SplitRow = 0;

3-2. ウィンドウ枠の固定:Window.FreezePanesにtrueを指定します (解除はfalse)。
ref) http://msdn.microsoft.com/ja-jp/library/office/f …

in VBA
ActiveWindow.FreezePanes = True

in C#
// Window w;
w.FreezePanes = true;
    • good
    • 0
この回答へのお礼

詳しい回答とご説明、ありがとうございました。

早速試してみたいと思います。

本当に助かりました。

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

お礼日時:2014/06/11 15:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!