度々お世話になります。
今回もよろしくお願いします。
現在VB6とOCX V2.5Jで作成していて
「OK」ボタンを押すとテキストボックスの内容をスプレッドの
表に挿入、ということを行いたいのです。
しかし上書きであれば簡単に出来たのですが挿入の仕方がわからずに
困っています。
どうかアドバイスをお願いします。
> 「OK」ボタンを押すとテキストボックスの内容をスプレッドの
> 表に挿入、ということを行いたいのです。
1行 or 1列 追加して、追加された空行/空列に上書きすればよいのでは・・・
アドバイスをもとに
spd.Row = spd.ActiveRow
spd.MaxRows = spd.MaxRows + 1
spd.Action = spd_action_insert_row
というのを作ってみたのですがこれでも行を追加することが出来ません。
どこが悪いのかご指摘お願いします。
> spd.Action = spd_action_insert_row
「spd_action_insert_row」って何です?
どう定義しています?
「SS_ACTION_INSERT_ROW」なのでは?
spd.Row = spd.ActiveRow
spd.MaxRows = spd.MaxRows + 1
spd.Action = SS_ACTION_INSERT_ROW
としても「変数が定義されていません」と出てしまいます。
ヘルプを見ると同じように書いてあるのにどうして出来ないのでしょうか?
spd.Action = 7
にしたらちゃんと挿入することが出来ました。
ご迷惑をお掛けしました。
それでご迷惑ついでになぜ
SS_ACTION_INSERT_ROW
では挿入できなかったのかを教えていただけると幸いです。
> としても「変数が定義されていません」と出てしまいます。
> SS_ACTION_INSERT_ROW では挿入できなかった
定数「SS_ACTION_INSERT_ROW」を定義していないからでしょうね。
定数は、定義しないと使えません。
コントロールやライブラリによっては、「使用する定数の定義」が(自動的に)公開されている場合もありますが、SPREAD/OCX 2.5Jは、そういう風にはなっていません。
「自分で定数の定義を宣言する」のが原則です。
例:
> Const SS_ACTION_INSERT_ROW = 7
但し、SPREAD/OCX 2.5Jの場合、「使用する全定数の宣言を行った標準モジュール」を提供しており、
それをプロジェクトに組み込めば、自分で宣言する手間を省くことができます。
以下は、ヘルプの「スプレッドシートの定数」のページの記述です。
-------------------------------------------------------------------
スプレッドシートのいくつかのプロパティやイベントでは、
値の設定や読み出し、引数の値などに定数を使用できます。
これらの定数は、SSOCX.BASファイルの中で定義されています。
定数を使用するときには、プロジェクトファイルに、SSOCX.BASを追加してください。
-------------------------------------------------------------------
なるほど。プロジェクトファイルにSSOCX.BASを追加していなかったから
SS_ACTION_INSERT_ROWでは挿入できなかったのですね。
ご教示いただきありがとうございました。
ツイート | ![]() |