Excel里面的VBA,小小的剪切板问题,急!急!急!急急急!!!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel里面的VBA,小小的剪切板问题,急!急!急!急急急!!!!相关的知识,希望对你有一定的参考价值。
试了一个早上了,查了很多资料,实在搞到我烦了,,,,
Excel里面的VBA,怎样才能得到剪切板里面的文字呢???
是vba,不是vb!!!
网上很多用vb的方法在vba里行不通。
实在无奈,请尊重我的提问,谢谢,
dim str as string
str=Clipboard.GetText 或者改成 str=Clipboard.GetText()
msgbox str
以上的例子经过实际试验不通过
三个人回答都不行啊,可怜。。
可能我没说明白,一楼的不是我想要的,我希望把剪切板中文字数据,放到一个字符串变量里面去。
VBA获取剪切板内容是那么困难的吗,
1、先得添加一个 Form,只要添加一个空的就好了,因为后面所用到的 DataObject 对象,需要Form对象;
在VBA编辑器中点菜单:插入 -> 用户窗体,即可;
2、在你的模块中放入如下示例代码:
Sub Test()
Dim MyData As DataObject, MyStr As String
Set MyData = New DataObject
MyData.GetFromClipboard '获得剪切板内容
MyStr = MyData.GetText '赋值给变量
MsgBox MyStr
End Sub
注意,运行前 从任何窗口选中一些文字 Copy 一下,再运行这个 Test 宏。
有疑问,请Hi我或给我发BaiDu消息。
GoodLuck! 参考技术A 如果没有ms forms 2.0 objiect librery注意要先引用
Dim MyData As DataObject
Sub SaveClipBoardtoTxt()
Dim fileNum As Integer
Set MyData = New DataObject
MyData.GetFromClipboard
GetClipBoardText = MyData.GetText(1)
' fileNum = FreeFile
' Open "c:\test.txt" For Output As fileNum
' Print #fileNum, GetClipBoardText
' Close #fileNum
MsgBox GetClipBoardText
End Sub
Private Sub CommandButton1_Click()
Call SaveClipBoardtoTxt
End Sub 参考技术B '获取系统剪贴板数据
Dim MyData As DataObject
Dim strClip As String
Set MyData = New DataObject
MyData.GetFromClipboard
strClip = MyData.GetText
MsgBox str 参考技术C Sub CopyClpboard()
Selection.Copy
Range("B1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
以上是关于Excel里面的VBA,小小的剪切板问题,急!急!急!急急急!!!!的主要内容,如果未能解决你的问题,请参考以下文章