- PR -

VB.NET Excelへのキーコードの送り方?

投稿者投稿内容
mjmj
会議室デビュー日: 2005/06/09
投稿数: 9
お住まい・勤務地: 東京
投稿日時: 2005-07-27 11:37
引用:

Orionさんの書き込み (2005-07-27 11:08) より:

SendKeysメソッドは、WorkSheetオブジェクトではなくApplicationオブジェクトのメソッドですよ。
サンプルのコードはこのようにしてあります。



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

おっしゃるとおりですね・・
Applicationクラスのメソッドだと理解していたつもりが
混乱していました。お恥ずかしい。

まだ、上手くいってません。
問題の本質は、セルの編集中にキーを送りたい、ということで、
Excel.Applicationクラスは応答しないのです。

Excelの共有アドインから呼び出したフォーム
(System.Windows.Forms)からキーを送ろうとしているので、
コードとしては、
System.Windows.Forms.SendKeys.Send("%EP")
としているのですが、考え方はあっていますでしょうか。
ご意見うかがえればとおもいます。
Orion
常連さん
会議室デビュー日: 2005/07/11
投稿数: 27
お住まい・勤務地: 京都府・京都市
投稿日時: 2005-07-29 02:39
引用:

mjmjさんの書き込み (2005-07-27 11:37) より:
引用:

Orionさんの書き込み (2005-07-27 11:08) より:

SendKeysメソッドは、WorkSheetオブジェクトではなくApplicationオブジェクトのメソッドですよ。
サンプルのコードはこのようにしてあります。



ありがとうございました。
まだ、上手くいってません。
問題の本質は、セルの編集中にキーを送りたい、ということで、
Excel.Applicationクラスは応答しないのです。

Excelの共有アドインから呼び出したフォーム
(System.Windows.Forms)からキーを送ろうとしているので、
コードとしては、
System.Windows.Forms.SendKeys.Send("%EP")
としているのですが、考え方はあっていますでしょうか。
ご意見うかがえればとおもいます。




「Excelの共有アドイン」について詳しく知らないのでわからないのですが、
セルが編集中でもSendKeyは効くように思っているのですが、
これが違うということですね。

googleで探してもOffice共有アドインの概要は書いてありましたが、
あまり詳しいことは載っていない感じでした。

あまりお役に立てずにすみません。
mjmj
会議室デビュー日: 2005/06/09
投稿数: 9
お住まい・勤務地: 東京
投稿日時: 2005-07-29 10:10
引用:

Orionさんの書き込み (2005-07-29 02:39) より:
引用:

mjmjさんの書き込み (2005-07-27 11:37) より:
まだ、上手くいってません。
問題の本質は、セルの編集中にキーを送りたい、ということで、
Excel.Applicationクラスは応答しないのです。

Excelの共有アドインから呼び出したフォーム
(System.Windows.Forms)からキーを送ろうとしているので、
コードとしては、
System.Windows.Forms.SendKeys.Send("%EP")
としているのですが、考え方はあっていますでしょうか。
ご意見うかがえればとおもいます。




「Excelの共有アドイン」について詳しく知らないのでわからないのですが、
セルが編集中でもSendKeyは効くように思っているのですが、
これが違うということですね。

googleで探してもOffice共有アドインの概要は書いてありましたが、
あまり詳しいことは載っていない感じでした。

あまりお役に立てずにすみません。



Orion様
とんでもありません。いつもありがとうございます。
おっしゃるのはMSDNとCOMアドインあたりのキーワードで出てくるサイトだと思います。
私もMSDNはあちこち確認済みです。

SendKeysは、サンプル的にVBAとVB6ではタイマー処理待機の間に
セルを編集状態にして、編集中のセルに文字列を送ることに成功しました。
VBからはExcelが反応するのに、
VB.netのアセンブリを通すとSendKeysに反応しない、
ということがあるのでしょうか?

SendKeysはハンドル指定できませんし、
ウィンドウをアクティブにするAPIがうまく動いていないのかもしれません。
いずれにしても、まだいろいろ調査してみます。
ありがとうございます。

スキルアップ/キャリアアップ(JOB@IT)