回答編集履歴

2

誤字訂正

2017/01/20 09:57

投稿

KoichiSugiyama
KoichiSugiyama

スコア3041

test CHANGED
@@ -56,6 +56,6 @@
56
56
 
57
57
  ```
58
58
 
59
- 本来でしたら、エラーチェックとか厳密にしないといけないのですが、ちょっと見づらくなりますので省いています。また、MFCでのラッパークラスでは、ExcellのプロパティであるCellsやRows、ColumnsはすべてRangeとして扱うので、上記のような書き方になります。
59
+ 本来でしたら、エラーチェックとか厳密にしないといけないのですが、ちょっと見づらくなりますので省いています。また、MFCでのラッパークラスでは、ExcelのプロパティであるCellsやRows、ColumnsはすべてRangeとして扱うので、上記のような書き方になります。
60
60
 
61
61
 

1

C\+\+での記述を追加

2017/01/20 09:56

投稿

KoichiSugiyama
KoichiSugiyama

スコア3041

test CHANGED
@@ -25,3 +25,37 @@
25
25
  End With
26
26
 
27
27
  ```
28
+
29
+
30
+
31
+ 追加(2017/01/20)
32
+
33
+ C++で書く場合、COMを扱ういろいろ方法があるのはご存じだと思いますが、私が最近MFC経由でしか使っていませんでしたので、MFCで書かせていただきます。(ビルドしてないので、ちゃんと動くかわかりませんが、ニュアンスをつかんでもらえれば)。
34
+
35
+ ```C++
36
+
37
+ CVariant varOption((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
38
+
39
+ CRange range(pWorksheet.get_Range("A11", varOption));
40
+
41
+ CRange Current(Range.get_CurrentRegion());
42
+
43
+ CRange Rows(Current.get_Rows());
44
+
45
+ CRange Columns(Current.get_Columns());
46
+
47
+ int rowsCount = Rows.get_Count();
48
+
49
+ int columnsCount = Columns.get_Count();
50
+
51
+ CRange maxCell (Current.get_Range(rowsCount, columnsCount));
52
+
53
+ int maxrow = maxCell.get_row();
54
+
55
+ int maxcol = maxCell.get_Column();
56
+
57
+ ```
58
+
59
+ 本来でしたら、エラーチェックとか厳密にしないといけないのですが、ちょっと見づらくなりますので省いています。また、MFCでのラッパークラスでは、ExcellのプロパティであるCellsやRows、ColumnsはすべてRangeとして扱うので、上記のような書き方になります。
60
+
61
+