1. 首页 > 科技

excel中用VBA判断剪切板是否有数据并粘贴到B列如何实现? vba编程代码大全

excel中用VBA判断剪切板是否有数据并粘贴到B列如何实现?vba编程代码大全

如何用VBA判断单元格中是否包含形如"B数字H数字T数字"。代码如何写?

Sub RegTest()

    Dim oRegExp As Object

    Dim sText As String

    sText = Range("A1").Text

    Set oRegExp = CreateObject("vbscript.regexp")

    With oRegExp

        '设置是否区分大小写,True表示不区分大小写, False表示区分大小写

        .IgnoreCase = True

        '设置要查找的字符模式

        .Pattern = "B\d+H\d+\T\d+"

        '判断是否可以找到匹配的字符,若可以则返回True

        MsgBox .Test(sText)

    End With

    Set oRegExp = Nothing

End Sub

Excel-VBA问题,怎样操作剪切板,答完再加分。

用VBA操作Office剪贴板

这两天对用VBA操作Office剪贴板的问题产生了兴趣。VBA帮助文件对此好像并无多少提及,在网上进行过一系列的搜索,基本上是用API来操作的,只因水平所限,看不明白,便试着用别的方法处理。经反复尝试,总算有些眉目,主要是用SendKeys语句处理的,经多次测试(Word2003),似可行。这样的操作可能实用意义不大,只是作为练习,也算有点收获。

以下为相关代码,欢迎测试,并提出修改意见。

Sub test1()

'检查Office剪贴板现有粘贴项目

Dim a As String

With CommandBars("Task Pane")

WordBasic.editofficeclipboard '从任务窗格调出剪贴板

With .Controls(1)

a = .Caption '提取Office剪贴板控件的题注文本

If a Like "24*" Then

MsgBox "Office剪贴板粘贴项目已满24个!"

ElseIf a Like "#*" Then

MsgBox "Office剪贴板现有" & Split(a, "/")(0) & "个粘贴项目。"

Else

MsgBox "Office剪贴板是空的!"

End If

End With

End With

End Sub

Sub test2()

'操作Office剪贴板(全部粘贴或全部清空,以及对指定粘贴项目的粘贴或删除操作)

Dim b As Byte, c As String

Application.ScreenUpdating = False

With CommandBars("Task Pane")

WordBasic.editofficeclipboard

With .Controls(1)

b = Val(Split(.Caption, "/")(0)) '取得Office剪贴板现有粘贴项目数

If b > 0 Then

c = InputBox("Office剪贴板现有" & b & "个粘贴项目。" & vbCrLf & vbCrLf _

& "请输入要粘贴的项目序号,直接按回车粘贴全部,输入0全部清空", , "全部")

If c = "全部" Then

.SetFocus '焦点移到任务窗格(剪贴板)

SendKeys "{LEFT 3}", False '定位到第一个粘贴项(最上面的项,即最后复制的项)

SendKeys "{TAB 2}", True '定位到“全部粘贴”

SendKeys "{ }", False '执行全部粘贴

ElseIf Val(c) > 0 And Val(c) <= b Then

.SetFocus

SendKeys "{LEFT 3}", False

SendKeys "{DOWN " & Val(c) - 1 & "}", False '定位到指定的粘贴项目

SendKeys "%{DOWN 2}", False '在指定的粘贴项目下拉菜单选择“粘贴”项(前面数字改为3即“删除”项)

SendKeys "{ENTER}", False '执行粘贴(前面数字为3时执行删除)

ElseIf Val(c) = 0 Then

.SetFocus

SendKeys "{LEFT 3}", False

SendKeys "{TAB 3}", True '焦点定位到“全部清空”

SendKeys "{ }", False '执行全部清空

End If

Else

MsgBox "Office剪贴板是空的!"

End If

End With

End With

SendKeys "{ESC 2}", False '焦点从任务窗格返回文档

Application.ScreenUpdating = True

End Sub

VBA 如何操作剪贴板数据

1、首先在电脑中打开Excel,进入VBA页面,实现把单元格内容清空的代码如下。

2、然后定义网址的代码如下。

3、然后实现创建对象HTML的方法代码,如下图所示。

4、然后输入发送请求和等待请求的方法代码。

5、最后把内容保存在表格中的方法代码,如下图所示,就完成了。

VBA 如何操作剪贴板数据

sub yy()

Dim D As DataObject

Set D = New DataObject

D.GetFromClipboard

MsgBox D.GetText(1)

end sub

先引用ms forms 2.0 objiect librery