
iRows=activesheetusedrangerowscount\x0d\iColumns=activesheetusedrangeColumnscount\x0d\\x0d\'如果表格前面的几行或几列可能是空的,需要获得最下面的行数和最右面的列数:\x0d\with activesheetusedrange\x0d\ iEndRow=rowscount+row-1\x0d\ iEndColumn=Columnscount+column-1\x0d\end with
打开Excel文档,按Alt+F11,打开VBE编辑器,工程区域右键“插入”-“模块”,插入一个新“模块1”。
2
/6
模块代码区域输入如下代码:
Sub 页脚更新()
Dim T As String
T = ActiveSheetRange("A1")Value '此处取当前页面A1的值,可根据需要更改
With ActiveSheetPageSetup
CenterFooter = "&""楷体,加粗""&10" & T & "居中" '将A1的值设置为楷体、加粗、10号、居中页脚显示
LeftFooter = "&""黑体,加粗""&14" & T & "靠左" '将A1的值设置为黑体、加粗、14号、靠左页脚显示
RightFooter = "&""幼圆,加粗""&12" & T & "靠右" '将A1的值设置为幼圆、加粗、14号、靠右页脚显示
End With
End Sub
3
/6
返回Excel文档界面,“开发工具”选项卡下,单击“插入”-“按钮(窗体控件)”,鼠标左键拖拉出一个按钮控件。
4
/6
在按钮控件上右键,单击“指定宏(N)”。
5
/6
选择“页脚更新”宏,单击“确定”完成宏的指定。
6
/6
单击按钮控件。单击“视图”选项卡下的“页面布局”,可以看到页脚已经实际更新。
从你的,可以看出,数据是在WORD文件的表格中的,编个小程序可以解决,思路如下:
1、程序遍历指定文件下的所有DOC类文档,
2、打开找到的第一个文档,遍历文档中的每一个表格,
3、遍历表格中的每一个格子,与关键字进行比较,找出目标,其右侧的单元格中就是你要的字符串
4、程序新建EXCEL表格(这一步可以事先进行)
5、将找到的字符,输出到EXCEL表格中适当位置
6、循环直至文档未
7、循环直至文件夹中所有DOC文档全部处理完成
8----欢迎一起探讨(说明,我用的是C++,调用WORD,与EXCEL用的是ACTIVEX方法)
用VBA *** 作Office剪贴板
这两天对用VBA *** 作Office剪贴板的问题产生了兴趣。VBA帮助文件对此好像并无多少提及,在网上进行过一系列的搜索,基本上是用API来 *** 作的,只因水平所限,看不明白,便试着用别的方法处理。经反复尝试,总算有些眉目,主要是用SendKeys语句处理的,经多次测试(Word2003),似可行。这样的 *** 作可能实用意义不大,只是作为练习,也算有点收获。
以下为相关代码,欢迎测试,并提出修改意见。
Sub test1()
'检查Office剪贴板现有粘贴项目
Dim a As String
With CommandBars("Task Pane")
WordBasiceditofficeclipboard '从任务窗格调出剪贴板
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
ApplicationScreenUpdating = False
With CommandBars("Task Pane")
WordBasiceditofficeclipboard
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 '焦点从任务窗格返回文档
ApplicationScreenUpdating = True
End Sub
以上就是关于如何再VBA里获取当前工作表里数据的行数和列数全部的内容,包括:如何再VBA里获取当前工作表里数据的行数和列数、excel页脚如何获取vba、怎么用VBA代码批量提取word中的特定数据到EXCEL等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)