Option Explicit '######################################################################## ' 'クリップボードの文章の中の通常の空白「Chr(32)」を、 '特殊空白文字の「nbsp」=「ChrW(160)」に変換し、 '再度、クリップボードへ送る。 ' '######################################################################## Function ChieBukuroIndent01() Dim s_TmpWord As String Let s_TmpWord = Getcbdata02() 'クリップボードの文章をゲット。 Call Sendcb02(NbspCnv01(s_TmpWord)) '空白「Chr(32)」を、特殊空白文字の「nbsp」=「ChrW(160)」に変換し、 '再度、クリップボードへ送る。 End Function '######################################################################## ' '指定した文字列の中の通常の空白「Chr(32)」を、 '特殊空白文字の「nbsp」=「ChrW(160)」に変換するだけのプログラム。 ' '######################################################################## Function NbspCnv01(s_tmpStr As String) As String Dim s_repStr As String s_repStr = Replace(s_tmpStr, Chr(32), ChrW(160)) NbspCnv01 = s_repStr ' Debug.Print s_repStr End Function '######################################################################## ' 'クリップボードにデータを送る(だけ)のプログラム。 ' '######################################################################## Function Sendcb02(s_SentenceWord As String) Dim o_cpb As Object Set o_cpb = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") '↑CreateObject関数のクラス名の指定で「MSForms.DataObject」と書くとエラーになるので ' 「new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}」と書く。 With o_cpb .SetText s_SentenceWord '変数のデータをDataObjectに格納 .PutInClipboard 'DataObjectのデータをクリップボードに格納 End With End Function '######################################################################## ' 'クリップボードの値をゲットする(だけ)のプログラム。 ' '######################################################################## Function Getcbdata02() As String Dim o_cpb As Object Set o_cpb = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") '↑同じく、CreateObject関数のクラス名の指定で「MSForms.DataObject」と書くとエラーになるので ' 「new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}」と書く。 On Error Resume Next With o_cpb .GetFromClipboard Getcbdata02 = .GetText End With End Function