GUID を取得してクリップボードにコピーする ( VBScript )

TypeLib.Guid で取得するのですが、取得した文字列の最後に NULL が現れるので Left 関数で文字列のみを取得しなおしています。

1) 最も多様なテクニックを使用して取得

クリップボードへのアクセスは clip.exe 
( コマンドプロンプトでリダイレクトが必要です )
01.' GUID 取得用
02.Set TypeLib = CreateObject("Scriptlet.TypeLib")
03. 
04.' 外部実行・環境変数取得用
05.Set WshShell = WScript.CreateObject("WScript.Shell")
06. 
07.' テキストファイル出力用
08.Set Fs = CreateObject( "Scripting.FileSystemObject" )
09. 
10.' テンポラリフォルダの取得
11.TempFolder = WshShell.ExpandEnvironmentStrings("%TEMP%")
12. 
13.' テキストファイルを出力用に開く
14.Set OutObj = Fs.OpenTextFile( TempFolder & "\_guid_text.txt", 2, True )
15. 
16.' GUID を出力
17.guid = Left( TypeLib.Guid & "", 38 )
18.OutObj.Write guid
19. 
20.' clip.exe を使用してクリップボードにコピー
21.' ※ 同期処理でコマンドプロンプトを表示しません
22.Call WshShell.Run( "cmd.exe /c clip.exe < """ & TempFolder & "\_guid_text.txt""",0, True )
23. 
24.' メッセージ
25.MsgBox( guid & " をクリップボードにコピーしました" )

2) clip.exe を使用したセオリー的な取得

クリップボードへのアクセスは clip.exe 
( コマンドプロンプトでリダイレクトが必要です )
01.' GUID 取得用
02.Set TypeLib = CreateObject("Scriptlet.TypeLib")
03. 
04.' 外部実行
05.Set WshShell = WScript.CreateObject("WScript.Shell")
06. 
07.' GUID を取得
08.guid = Left( TypeLib.Guid & "", 38 )
09. 
10.' clip.exe を使用してクリップボードにコピー
11.' ※ 同期処理でコマンドプロンプトを表示して一旦停止します
12.' 1) テキストの内容をクリップボードにコピー]
13.' 2) メッセージ
14.' 3) pause で停止
15.Call WshShell.Run( "cmd.exe /c echo " & guid & " | clip.exe & echo " & guid & " をクリップボードにコピーしました" & " & pause", , True )

3) InternetExplorer.Application でクリップボードへコピーする
01.' GUID 取得用
02.Set TypeLib = CreateObject("Scriptlet.TypeLib")
03. 
04.' クリップボード用
05.' ※ HTA 等では直接 window.clipboardData より実行
06.' ※ するように書き換える必要があります
07.Set objIE = CreateObject("InternetExplorer.Application")
08.objIE.Navigate("about:blank")
09.Do While objIE.Busy
10.        ' 100 ミリ秒
11.        Wscript.Sleep 100
12.Loop
13. 
14.Call objIE.document.parentWindow.clipboardData.SetData( "Text", TypeLib.Guid & "" )
15.objIE.Quit
16. 
17.WScript.Echo "クリップボードにコピーしました" & vbCrLf & vbCrLf & TypeLib.Guid

4) 自分でクリップボードへコピーする
1.' GUID 取得用
2.Set TypeLib = CreateObject("Scriptlet.TypeLib")
3. 
4.Call InputBox("コピーして使用して下さい","新しい GUID を取得しました",TypeLib.Guid)