Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1312 / 13644 ツリー ←次へ | 前へ→

【75136】Sendkeys 亜矢 13/12/18(水) 12:23 質問[未読]
【75137】Re:Sendkeys HARA 13/12/18(水) 21:22 発言[未読]
【75139】Re:Sendkeys ichinose 13/12/19(木) 6:22 発言[未読]
【75140】Re:Sendkeys 亜矢 13/12/19(木) 10:58 質問[未読]
【75142】Re:Sendkeys ichinose 13/12/20(金) 4:41 発言[未読]
【75144】Re:Sendkeys 亜矢 13/12/20(金) 10:15 発言[未読]
【75149】Re:Sendkeys ichinose 13/12/21(土) 9:13 発言[未読]
【75155】Re:Sendkeys 亜矢 13/12/21(土) 16:59 お礼[未読]

【75136】Sendkeys
質問  亜矢  - 13/12/18(水) 12:23 -

引用なし
パスワード
   よろしくお願いします。
 たとえば 変数Xにtetsu-katoというものを取得して、
 それを エクセルシート sendkeys X ,true とすると
 ひらがなモードになっていると、てつや かと と成ってしまいます。
 
 実際にはエクセルでなくノーツのメールの行うことなのですが、テストが大変な
 ためエクセルシートで試しています。
 変数にとりこまれたデータそのままをはりつける(この場合はsendkeys)
 方法がありましたら、教えていただきたいと思います。

【75137】Re:Sendkeys
発言  HARA  - 13/12/18(水) 21:22 -

引用なし
パスワード
   Dim X As String

X = InputBox("入力")
SendKeys X, True
では?間違ってたらすいません。

【75139】Re:Sendkeys
発言  ichinose  - 13/12/19(木) 6:22 -

引用なし
パスワード
   おはようございます。

Dataobjectを使う方法です。


参照設定「Microsoft Forms 2.0 Object Library」

Sub test()
  Dim dto As MSForms.DataObject
  Set dto = New MSForms.DataObject
  dto.SetText "tetsu-kato", 1
  dto.PutInClipboard
  SendKeys "^v"
  Set dto = Nothing
End Sub

【75140】Re:Sendkeys
質問  亜矢  - 13/12/19(木) 10:58 -

引用なし
パスワード
   ▼ichinose さん:
>おはようございます。
>
>Dataobjectを使う方法です。
>
>
>参照設定「Microsoft Forms 2.0 Object Library」
>
>Sub test()
>  Dim dto As MSForms.DataObject
>  Set dto = New MSForms.DataObject
>  dto.SetText "tetsu-kato", 1
>  dto.PutInClipboard
>  SendKeys "^v"
>  Set dto = Nothing
>End Sub
ありがとうございました。上の通り実施して、表示はうまくいきましたが、
もうひとつ質問があります。通常は半角英数字ですが、上記の変数の中に半角カタカナが混じっていると、IMEmodeがひらがに勝手にに変わってしまいます。半角英数のときにはうまくいくのですが、変数の中に半角カタカナが来ると上記のプログラムでもカタカナがひらがなに変換されてしまいます。解決方法を教えていただきたいと
思います。

【75142】Re:Sendkeys
発言  ichinose  - 13/12/20(金) 4:41 -

引用なし
パスワード
   >>Dataobjectを使う方法です。
>>
>>
>>参照設定「Microsoft Forms 2.0 Object Library」
>>
>>Sub test()
>>  Dim dto As MSForms.DataObject
>>  Set dto = New MSForms.DataObject
>>  dto.SetText "tetsu-kato", 1
>>  dto.PutInClipboard
>>  SendKeys "^v"
>>  Set dto = Nothing
>>End Sub
>通常は半角英数字ですが、上記の変数の中に半角カタカナが混じっていると、IMEmodeがひらがに勝手にに変わってしまいます。半角英数のときにはうまくいくのですが、変数の中に半角カタカナが来ると上記のプログラムでもカタカナがひらがなに変換されてしまいます。解決方法を教えていただきたいと
>思います。

提示したコードは、貼付け対象がExcelのシートだと正常に作動しますよね!!
このコード、メモ帳に 例えば aaaイチノセ 等と入力し、これをコピーして
対象箇所(ノーツ?)に貼り付ける と同じです。

私は、このメーラーを持っていないので確認できませんが、
上記の操作を手動で行っても同じ結果ですか?


【75144】Re:Sendkeys
発言  亜矢  - 13/12/20(金) 10:15 -

引用なし
パスワード
   ▼ichinose さん:
>>>Dataobjectを使う方法です。
>>>
>>>
>>>参照設定「Microsoft Forms 2.0 Object Library」
>>>
>>>Sub test()
>>>  Dim dto As MSForms.DataObject
>>>  Set dto = New MSForms.DataObject
>>>  dto.SetText "tetsu-kato", 1
>>>  dto.PutInClipboard
>>>  SendKeys "^v"
>>>  Set dto = Nothing
>>>End Sub
>>通常は半角英数字ですが、上記の変数の中に半角カタカナが混じっていると、IMEmodeがひらがに勝手にに変わってしまいます。半角英数のときにはうまくいくのですが、変数の中に半角カタカナが来ると上記のプログラムでもカタカナがひらがなに変換されてしまいます。解決方法を教えていただきたいと
>>思います。
>
>提示したコードは、貼付け対象がExcelのシートだと正常に作動しますよね!!
>このコード、メモ帳に 例えば aaaイチノセ 等と入力し、これをコピーして
>対象箇所(ノーツ?)に貼り付ける と同じです。
>
>私は、このメーラーを持っていないので確認できませんが、
>上記の操作を手動で行っても同じ結果ですか?
>
 手動でコピーして貼り付けをした場合にはIMEModeは変わりませんでした。
 よろしくお願いします。

【75149】Re:Sendkeys
発言  ichinose  - 13/12/21(土) 9:13 -

引用なし
パスワード
   ▼亜矢 さん:
コードをテップ実行した場合はどういう結果でしょうか?

【75155】Re:Sendkeys
お礼  亜矢  - 13/12/21(土) 16:59 -

引用なし
パスワード
   ▼ichinose さん:
>▼亜矢 さん:
>コードをテップ実行した場合はどういう結果でしょうか?
      For i = 1 To MM 

        Set dto = New MSForms.DataObject
        dto.SetText " " & MMat(2, i), 1
        dto.PutInClipboard
        SendKeys "^v", True
        Application.Wait Now + TimeValue("00:00:01")
        Set dto = Nothing
        Sleep 100
        SendKeys "{ENTER}", True 
        Sleep 100
      Next
上記のコードで問題なく処理ができました。ありがとうございました。
 Application.Wait Now + TimeValue("00:00:01")
 のところにSleep 100 を入れていたため、同じ変数が貼り付けられて
 しまいました。上記のコードではそれがありませんでした。

1312 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free