回答編集履歴
2
誤字訂正
answer
CHANGED
@@ -27,4 +27,4 @@
|
|
27
27
|
int maxrow = maxCell.get_row();
|
28
28
|
int maxcol = maxCell.get_Column();
|
29
29
|
```
|
30
|
-
本来でしたら、エラーチェックとか厳密にしないといけないのですが、ちょっと見づらくなりますので省いています。また、MFCでのラッパークラスでは、
|
30
|
+
本来でしたら、エラーチェックとか厳密にしないといけないのですが、ちょっと見づらくなりますので省いています。また、MFCでのラッパークラスでは、ExcelのプロパティであるCellsやRows、ColumnsはすべてRangeとして扱うので、上記のような書き方になります。
|
1
C\+\+での記述を追加
answer
CHANGED
@@ -11,4 +11,20 @@
|
|
11
11
|
maxrow = .Cells(.Rows.Count, .Columns.Count).Row
|
12
12
|
maxcol = .Cells(.Rows.Count, .Columns.Count).Column
|
13
13
|
End With
|
14
|
-
```
|
14
|
+
```
|
15
|
+
|
16
|
+
追加(2017/01/20)
|
17
|
+
C++で書く場合、COMを扱ういろいろ方法があるのはご存じだと思いますが、私が最近MFC経由でしか使っていませんでしたので、MFCで書かせていただきます。(ビルドしてないので、ちゃんと動くかわかりませんが、ニュアンスをつかんでもらえれば)。
|
18
|
+
```C++
|
19
|
+
CVariant varOption((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
|
20
|
+
CRange range(pWorksheet.get_Range("A11", varOption));
|
21
|
+
CRange Current(Range.get_CurrentRegion());
|
22
|
+
CRange Rows(Current.get_Rows());
|
23
|
+
CRange Columns(Current.get_Columns());
|
24
|
+
int rowsCount = Rows.get_Count();
|
25
|
+
int columnsCount = Columns.get_Count();
|
26
|
+
CRange maxCell (Current.get_Range(rowsCount, columnsCount));
|
27
|
+
int maxrow = maxCell.get_row();
|
28
|
+
int maxcol = maxCell.get_Column();
|
29
|
+
```
|
30
|
+
本来でしたら、エラーチェックとか厳密にしないといけないのですが、ちょっと見づらくなりますので省いています。また、MFCでのラッパークラスでは、ExcellのプロパティであるCellsやRows、ColumnsはすべてRangeとして扱うので、上記のような書き方になります。
|