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,小小的剪切板问题,急!急!急!急急急!!!!的主要内容,如果未能解决你的问题,请参考以下文章

通过VBA 程序找出excel表中B列的最大日期,并且排除一个不要的年份的日期,如12/31/2099(日期格式),急

JS获取剪切板内容

vba 怎么读取系统剪贴板中的图片到image控件?

delphi 获取剪切板内容

怎么去除datatable 中一列的重复值【急】

SQL 语句 时间递增 急 急 急 急 急 急