liushengk 发表于 2004-11-19 12:55:00

[VBA]请教VBA中如何使用剪贴板(如将字符串复制到剪贴板),谢谢先!!!

请教VBA中如何使用剪贴板(如将字符串复制到剪贴板),谢谢先!!!

ntchjie 发表于 2004-11-19 13:49:00

复制


                                                       Clipboard.Clear<BR>                                                       Clipboard.SetText “abc”


粘贴


                                                       abc=Clipboard.GetText<BR>

liushengk 发表于 2004-11-19 14:22:00

怎么办啊?!(在CAD的VBA里面)


Clipboard.Clear


运行时错误“424” 要求对象


请帮帮忙!!

ntchjie 发表于 2004-11-19 14:40:00

你可以看看vba里面gettext的帮助,里面有个例子可以参考。

雪山飞狐_lzh 发表于 2004-11-19 14:43:00

Sub tt1()<BR>Dim a As New DataObject<BR>a.SetText "ABC"<BR>a.PutInClipboard<BR>End Sub<BR>Sub tt2()<BR>Dim a As New DataObject<BR>a.GetFromClipboard<BR>MsgBox a.GetText<BR>End Sub<BR>

liushengk 发表于 2004-11-22 14:26:00

谢谢楼上两位,问题解决了!!

ningyong58 发表于 2010-1-16 16:10:00

<p>Sub VTC() 'short for SystemVariableToClipboard<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; toClipboard<br/>&nbsp;&nbsp;&nbsp; <br/>End Sub</p><p>Sub toClipboard() 'short for SystemVariableToClipboard<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; Dim objectList As New DataObject<br/>&nbsp;&nbsp;&nbsp; Dim param As String<br/>&nbsp;&nbsp;&nbsp; Dim parameterArray() As String<br/>&nbsp;&nbsp;&nbsp; Dim ref As String</p><p>&nbsp;&nbsp;&nbsp; parameterArray() = Split(ThisDrawing.Utility.GetString(False), " ")<br/>&nbsp;&nbsp;&nbsp; For i = 0 To UBound(parameterArray)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ref = ref &amp; getSysVar(parameterArray(i))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If UBound(parameterArray) &gt; 0 Then ref = ref &amp; vbNewLine<br/>&nbsp;&nbsp;&nbsp; Next i<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; objectList.SetText ref<br/>&nbsp;&nbsp;&nbsp; objectList.PutInClipboard<br/>&nbsp;&nbsp;&nbsp; <br/>End Sub</p><p>Private Function getSysVar(varName As String) As String<br/>Dim SysVar As String<br/>Dim i As Integer</p><p>On Error Resume Next<br/>SysVar = ThisDrawing.GetVariable(varName)<br/>If Err &lt;&gt; 0 Then<br/>&nbsp;&nbsp;&nbsp; Err.Clear<br/>&nbsp;&nbsp;&nbsp; SysVar = varName<br/>ElseIf varName = "DWGNAME" Then 'REMOVE DRAWING FILE EXTENSIOIN IE '.dwg'<br/>&nbsp;&nbsp;&nbsp; Do<br/>&nbsp;&nbsp;&nbsp; If Mid(SysVar, Len(SysVar) - i, 1) = "." Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SysVar = Left(SysVar, Len(SysVar) - i - 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = Len(SysVar)<br/>&nbsp;&nbsp;&nbsp; Else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = i + 1<br/>&nbsp;&nbsp;&nbsp; End If<br/>&nbsp;&nbsp;&nbsp; Loop While i &lt; Len(SysVar)<br/>End If</p><p>getSysVar = SysVar</p><p>End Function</p><p></p><p>Sub tt1()<br/>Dim a As New DataObject<br/>a.SetText "ABC"<br/>a.PutInClipboard<br/>End Sub<br/>Sub tt2()<br/>Dim a As New DataObject<br/>a.GetFromClipboard<br/>MsgBox a.GetText<br/>End Sub</p>

AirCD 发表于 2010-1-19 08:57:00

学习了。

crazylsp 发表于 2012-7-18 17:49:14

雪山方法的可以哈。

无厘崖 发表于 2020-8-1 09:48:09

vb文本复制到剪贴板很有用
页: [1] 2
查看完整版本: [VBA]请教VBA中如何使用剪贴板(如将字符串复制到剪贴板),谢谢先!!!