まずは、下記のプログラム構文をコピーしてメモ帳に貼り付けて下さい。
そして、Dドライブの直下(フォルダを作らないでD:の中)に、「BNameCP.vbs」の名前で保存してください。
拡張子は「.txt」ではありません。「.vbs」です。
保存する際の文字コードは「ANSI」です。(これ大事)
保存したファイルのアイコンが水色の「S」という文字のロゴに変わっていれば正常に保存された事になります。
アイコンがテキストファイルのままなら、拡張子を確認して下さい。
本来は、保存ファイル名や保存する場所は、どこでも良いのですが、
今回は、従って下さい。うまく実行出来たら、お好きに変えて下さい。
↓ここからvbsプログラム
Option Explicit
Call Main
Sub Main
Dim s
WScript.Sleep 500
s = GetClipboardText()
s = mid(s , InStrRev(s , "LIST"))
If InStr(s , "ブロック名:") = 0 Then
s = "ブロックではありません"
Else
s = mid(s , InStr(s , "ブロック名:") + 6)
s = mid(s , InStr(s , Chr(34)) + 1)
s = mid(s , 1 , InStr(s , Chr(34)) - 1)
End If
PutInClipboardText s
End Sub
Function GetClipboardText()
Dim objHTML
Set objHTML = CreateObject("htmlfile")
GetClipboardText = Trim(objHTML.ParentWindow.ClipboardData.GetData("text"))
End Function
Public Sub PutInClipboardText(ByVal str)
Dim cmd
cmd = "cmd /c ""echo " & str & "| clip"""
CreateObject("WScript.Shell").Run cmd, 0
End Sub
↑ここまでvbsプログラム
次に、CADに下記のマクロを登録してください。
^C^CGRAPHSCR;LIST;si;\copyhist;GRAPHSCR;AI_STARTAPP "D:BNameCP.vbs"^M
※R版なのにlispではなく、こっちを試したい人は、
※R版には、AI_STARTAPPコマンドが有りませんので、この部分を変更して下さい。
※次のLUNEさんの書き込みを参照願います。
では、マクロを実行してください。
ブロックをクリックすると、ブロック名がクリップボードにコピーされます。
- Lon
- 2019/05/24 (Fri) 17:08:16