Windowsアクセサリのメモ帳でデフォルトの文字列を自動入力させたい


特定の文字列が入力されていないとファイルが保存できない状況になっています。(txtでは本文内)
動作が軽いのでメモ帳(notepad.exe)で作業をすることが多いのですが、
毎回同じ文字列を入力するのが面倒です。
いつもはアプリが起動して何も入力されていない白紙が出てくるようなイメージですが、デフォルトでexeを実行した時(ファイルを開くではない時)に"ABCDE"のような特定の文字列が自動入力されているような状態にしたいと思っています。
何か方法はないでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2019/01/23 09:30:05

回答2件)

id:chirasinouramemo No.1

回答回数15ベストアンサー獲得回数1

特定の文字列が入力されていないとファイルが保存できない状況 が謎ですが。

特定の文字列が入力済みのテキストファイルを作成しておき、テキストファイルとメモ帳を関連付けして、名前をつけて保存すればよいのでは?

IMEに特定の文字列を読み1文字で登録しておくとか。

USB接続のキーボードエミュレーター作って、USBに挿してボタン押すと特定の文字列を入力するとか。

メモ帳を起動して、SendKeyでデータを送り込むプログラム組むとか。

id:siachan No.2

回答回数91ベストアンサー獲得回数23

 すでに回答に出ていますが、VBScript で SendKeys を使ったらこんな感じでしょうか。

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "notepad"
WScript.Sleep 300

objShell.SendKeys "ABCDE"

 入力する文字列が半角文字のみであれば問題ありませんが、全角文字等を含む場合は文字化けしてしまうので、入力したい文字を書いたファイルを適当なファイル名(この例では C:\sig.txt)で保存しておき、以下の VBS を実行します。

file = "c:/sig.txt"

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "cmd /c ""clip < """ & file & """",TRUE
objShell.Run "notepad"
WScript.Sleep 300
objShell.SendKeys "^V"

 クリップボードの内容を上書きするので注意して下さい。

 また、環境によっては起動待ちの時間(ここでは 300)を変更する必要があるかも知れません。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません