ExcelのセルをR1C1形式で操作したい – プログラミング – Home

ExcelのセルをR1C1形式で操作し...
 
通知
すべてクリア

[解決済] ExcelのセルをR1C1形式で操作したい


生卵
 生卵
(@生卵)
ゲスト
結合: 17年前
投稿: 2
Topic starter  

初めて質問させていただきます。
WindowsXP
Visual C++ 2003
Excel 2003
を使用しております。

ただいま MFCと Officeオートメーションを使用して、
Visual C++ で Excelのセルに値を設定しようとしています。

データ数が変わるので、
アルファベットと数字の文字列でセルを指定する
(A1形式 A1, B2など)のでなく、
行、列ともに数字でセルを指定したい(R1C1形式)のですが、
VBAのCellsプロパティのような指定
(Worksheets(sheet1).Cells(2, 5) のような指定)
ができる関数が見つかりません。

そのような指定の方法がありましたらお教えいただきたく思います。

よろしくお願いいたします。


引用未解決
トピックタグ
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

> (Worksheets(sheet1).Cells(2, 5) のような指定)

何年も前のメモがあった。
VC6とExcel2000ではうまく行ったと思う。

Excel::RangePtr pRange = pSheet->GetCells()->GetItem(2L, 5L);
CString str = 書き込むデータ;
pRange->PutValue((_variant_t)str);


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

私の場合、CellsからRangeを取得する方法は無駄※が多いのでR1C1形式からA1形式の文
字列を作成してGetRangeオブジェクト(だっけ?)で取得するようにしています。

※Cellsというプロパティではなく実際は
WorksheetオブジェクトのCellsプロパティで取得したRangeオブジェクトに対して
_DefaultプロパティによりRangeオブジェクトを取得している


返信引用
生卵
 生卵
(@生卵)
ゲスト
結合: 17年前
投稿: 2
Topic starter  

私が今挑戦している方法
http://support.microsoft.com/kb/308292/JA/
を参考にした方法では、
たいちう様から教えていただいた
GetCells(), GetItem(row, col) の関数は無くて
get_Cells(), get_Item(row, col) がありました。
これらを使っても、うまく動作しませんでした。

ご教示いただいた方法については、勉強いたします。

今回は、Blue様のように、
R1C1形式からA1形式の文字列を作ることにいたします。

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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました