0

https://www.relief.jp/docs/017829.html
のサイトに掲載されている下記のコードを実行したところ、
    buf = buf & _
    Replace(shp.TextFrame.TextRange.Text, Chr(11), vbCrLf) & vbCrLf
のところで、
指定された値は境界を越えています。
というエラーになりました。さっぱり原因がわかりません。
対処法が判る方、教えてください。
正常に動けば、WinActorのスクリプトに改造して使いたいと考えています。 

--<Start of code>-----
Sub アクティブなスライドの文字列を出力する()
 'アクティブなスライドの文字列を
'クリップボードとイミディエイトウィンドウに出力する
'Microsoft Forms 2.0 Object Libraryへの参照設定が必要
 
 Dim shp As Shape
 Dim buf As String
 Dim obj As New DataObject
 
 buf = ""
 
 With ActiveWindow.Selection.SlideRange
  For Each shp In .Shapes
   '文字列を変数に格納
    '垂直タブはvbCrLfに置換
    buf = buf & _
    Replace(shp.TextFrame.TextRange.Text, Chr(11), vbCrLf) & vbCrLf
  Next shp
 End With
 
 'クリップボードに出力
  With obj
  .SetText buf
  .PutInClipboard
 End With
 
 'イミディエイトウィンドウに出力
  Debug.Print buf
 
End Sub
--<End of code>---

gorby5775 質問の投稿
回答とコメントは、会員登録(無料)で閲覧できるようになります。