きぬあささんから紹介いただいたマクロの改造方法です。
まずは精神論から。
▼使ってみることって大切ですね
正直申し上げると、紹介いただいたこのマクロ、私にとってはまだ勉強不足で一部正確に読めておりません(笑)。
ところが、マクロのいいところは、内容がわからなくても、使うことができる、ということなんです。
私は無責任なことを申し上げているわけではなく、自分ができることの可能性を広げるためにぜひ皆さんにもチャレンジしていただきたいと思って書いています。
Wordマクロ楽しいですよ-。
完璧に理解するまでマクロを使うのを控えるのはもったいないです。
特に、このマクロのようにご自身で結果(貼り付けた内容)を確認しながら使うマクロについては、効果を実感しながら使うことができますね。
「マクロはブラックボックスだから怖い」というご意見を伺うことがよくありますが、自己責任において少しずついろいろと試さされるのはいいと思いますよ。
さらに、きぬあささんのマクロは、Wordの機能を大きく超えたものがありますし、楽しいものが多いのでおすすめです。
▼うれしい使い方
まず、先日のコメント できぬあささんからご紹介いただいたようにInputBoxを使う方法です。
InputBoxで表示されたダイアログボックスに、貼り付けたいアイテムの番号を入力します。
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20110712/08/gidgeerock/ee/d8/p/t02200079_0478017211345168607.png?caw=800)
OKボタンをクリックしたら貼り付け完了。簡単です。
あくまでも、きぬあささんのページに紹介される前半のマクロがあって、それを操作するためのマクロです。以下をご覧ください。
Office クリップボードをマクロで操作する(Office 2003)
Office クリップボードをマクロで操作する(Office 2007以降)
まず、きぬあささんのマクロを登録して、以下のマクロも登録して使います。
以下のマクロ単独では動きません。
▼マクロ(1)
Public Sub ClipBoard_Paste()
Dim myTitle As String ' インプットボックスのタイトル
Dim myMessage As String ' インプットボックスのメッセージ
Dim myItem As String ' アイテムの番号
myTitle = "Office クリップボード"
myMessage = "アイテムの番号を入力してください。"
myItem = InputBox(prompt:=myMessage, Title:=myTitle)
If myItem = "" Then
Exit Sub
Else
PasteOfficeClipboardItem CLng(myItem)
End If
End Sub
▼マクロ(2):後で追記しました。
上記マクロ(1)では、ダイアログボックス(InputBox)で数字以外を入力するとエラーになります。
以下のマクロでは、数字以外の文字を入力した場合に再度入力を求める仕組があります。以前、「特定ページを表示させるマクロ(2) 」で紹介したマクロとIsNumeric 関数を流用しています。
Public Sub ClipBoard_Paste_2()
Dim myTitle As String ' インプットボックスのタイトル
Dim myMessage As String ' インプットボックスのメッセージ
Dim myItem As String ' アイテムの番号
myTitle = "Office クリップボード"
myMessage = "アイテムの番号を入力してください。"
Do
myItem = InputBox(prompt:=myMessage, Title:=myTitle)
Loop While IsNumeric(myItem) = False
If myItem = "" Then
Exit Sub
Else
PasteOfficeClipboardItem CLng(myItem)
End If
End Sub
▼関連記事
Office クリップボードの記事の目次
Office クリップボードを操作するマクロ(サイト紹介)
特定ページを表示させるマクロ(2) IsNumeric 関数の利用例
マクロコードの登録方法
ツールバーのボタン登録