如何编程判断Word文档InlineShapes的环绕类型?
经测试编写VBA代码如下:Sub 嵌入式图片加边框()Application.ScreenUpdating = FalseDim a As IntegerDim pic As InlineShapeDim aBorder As Bordera = ActiveDocument.InlineShapes.CountIf a = 0 ThenMsgBox ("没有发现嵌入式图片")End IfFor Each pic In ActiveDocument.InlineShapespic.Borders.Enable = TrueWith picFor Each aBorder In pic.BordersWith aBorder.LineWidth = wdLineWidth025pt.Color = wdColorBlueEnd WithNext aBorder.ScaleHeight = 100.ScaleWidth = 100End WithNextApplication.ScreenUpdating = TrueEnd SubSub 取消边框()Dim a As Integera = ActiveDocument.InlineShapes.CountIf a = 0 ThenMsgBox ("没有发现嵌入式图片")End IfActiveDocument.InlineShapes(1).Borders.Enable = FalseEnd SubPrivate Sub CommandButton1_Click()嵌入式图片加边框End SubPrivate Sub CommandButton2_Click()取消边框End Sub效果如下:
Word中VBA代码如何处理嵌入的图片真正做到居中
展开全部 按Alt+F11组合键打开VBA窗口,双击左侧的“工程资源管理器”窗口的“ThisDocument”,在弹出的空白窗口中输入以下代码:Sub AAA1()Dim myS As InlineShapeApplication.ScreenUpdating = FalseFor Each myS In ActiveDocument.InlineShapesIf Len(myS.Range.Paragraphs(1).Range.Text) = 2 ThenmyS.Range.Paragraphs.Alignment = wdAlignParagraphCenterEnd IfNextApplication.ScreenUpdating = TrueEnd Sub按F5键执行即可。
...
vba word如何获取文本框的文字?
新建一个窗体,添加一个文本框控件,用VB写如下程序:Sub Example()Dim myObject As Object'对于浮动式文本框控件Set myObject = ActiveDocument.Shapes(1).OLEFormat.ObjectMsgBox myObject.Text'对于嵌入式文本框控件Set myObject = ActiveDocument.InlineShapes(1).OLEFormat.ObjectMsgBox myObject.Text'对于word的文本框图形(非控件)Set myObject = ActiveDocument.Shapes(1).TextFrame.TextRangeMsgBox myObject.TextEnd SubVisual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言,为结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。
是一种可用于微软自家产品开发的语言。
“Visual” 指的是开发图形用户界面 (GUI) 的方法——不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象add到屏幕上的一点即可。
“Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 语言,是一种在计算技术发展历史上应用得最为广泛的语言。
Visual Basic源自于BASIC编程语言。
VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建Active X控件,用于高效生成类型安全和面向对象的应用程序 。
程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
怎么用word中的宏 让图片布满一张纸(有好几百张啊)
1、页面设置中,页边距、页眉页脚都设置为0;2、运行如下宏程序Sub 图片大小设置()Dim p As InlineShapeFor Each p In ActiveDocument.InlineShapesIf p.Type = wdInlineShapePicture Thenp.LockAspectRatio = msoFalsep.Width = 595.3p.Height = 841.9End IfNext pEnd Sub
Word VBA教程:Delete方法
VBA教程 - Word VBA参考教程 - Delete方法Word VBA教程:Delete方法应用于 Cell 和 Cells对象的 Delete方法。
删除一个或多个表格单元格并可选择控制如何移动剩余的单元格。
expression.Delete(ShiftCells)expression 必需。
该表达式返回以上一个对象。
ShiftCells Variant 类型,可选。
剩余单元格移动的方向。
可以是任意WdDeleteCells 常量。
如果忽略,最后删除的单元格的右侧单元格向左移动。
应用于 Range 和 Selection对象的 Delete方法。
删除指定数目的字符或单词。
此方法返回一个 Long 值,该数值表明删除项的数目。
如果删除失败,则返回的值为 0(零)。
expression.Delete(Unit, Count)expression 必需。
该表达式返回以上一个对象。
Unit Variant 类型,可选。
所需删除的折叠区域或选定内容的单位。
可以是下列 WdUnits 常量之一:wdCharacter(默认值)或 wdWord。
Count Variant 类型,可选。
所需删除的单元的数目。
若要删除某区域或选定内容之后的单元,请折叠该区域或选定内容并将此参数设置为正数;若要删除某区域或选定内容之前的单元,请折叠该区域或选定内容并将此参数设置为负数。
应用于 ShapeNodes对象的 Delete方法。
删除指定的对象。
expression.Delete(Index)expression 必需。
该表达式返回一个ShapeNodes对象。
Index Long 类型,必需。
要删除的图形节点的数目。
应用于“应用于”列表中所有其他对象的 Delete方法。
删除指定的对象。
expression.Deleteexpression 必需。
该表达式返回“应用于”列表中的一个对象。
http://www.33dir.com/z/2016/08/04/2957.html
怎么用VBA获得word图片的像素值
参考:Sub 嵌入型图片的像素()On Error Resume NextWith Selection.Range.Find.ClearFormatting.Replacement.ClearFormatting.Execute findtext:="^g", MatchWildcards:=False, Wrap:=wdFindStopMsgBox "该图片的像素为:" & Selection.InlineShapes(1).Width _& " * " & Selection.InlineShapes(1).HeightEnd WithEnd Sub
怎样将word文档中的 N多张图片调整为一样的大小
2003等: 一,在word中按alt+f11组合键,进入VBA模式 二,在左边的工程资源管理器中找到你的word文档,在其上右键/添加/模块 三,把下面代码复制,粘贴进去. 四,更改数值, 改一下宽度和高度数值(10),点运行(类似播放按钮.)或f5,即可设置文档中全部图片 Sub Macro() Mywidth=10'10为图片宽度(厘米) Myheigth=10'10为图片高度(厘米) For Each iShape In ActiveDocument.InlineShapes iShape.Height = 28.345 * Myheigth iShape.Width = 28.345 * Mywidth Next iShape End Sub
如何用VBA 向Word表格中插入值,又如何判断表格中的值是否为空
网上有现成的代码:========要判断 以上表格中如果有空时,则弹出对话框页面=========='当打开Word时弹出对话框 要用户输入内容 Private Sub Document_Open() Dim flag As Boolean flag = True With ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Tables(1).Range For i = 2 To 9 Step 1 If Len(.Cells(i).Range.Text) = 2 Then flag = False End If Next If flag = False Then AddHeader.Show End If End With End Sub=====点确定后将页面对话框中的值 插入到word 的页眉表格中==== Private Sub CommandButton1_Click() With ActiveDocument.Sections(1)'Cell(4, 2).Range.InsertBefore (TextBox4.value) ' .Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(1, 2).Range.InsertAfter ("aaa") .Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(1, 3).Range.Delete .Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(1, 3).Range.InsertAfter (TxtFileName.Value) .Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(2, 2).Range.Delete .Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(2, 2).Range.InsertAfter (TxtSecrecy.Value) .Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(2, 4).Range.Delete .Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(2, 4).Range.InsertAfter (TxtRev.Value) .Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(2, 6).Range.Delete .Headers(wdHeaderFooterPrimary).Range.Tables(1).Cell(2, 6).Range.InsertAfter (TxtID.Value) '页尾的做法' .Footers(wdHeaderFooterPrimary).Range.Text = "Copyright BYD Company Limited" End With AddHeader.Hide End Sub========提问 ================= 比如说sheet1 中A1:A10不为空,用代码判断不为空后,光标移向A11,并且A11=11,B11=22 再录入数据后光标又光标移向A12,并且A12=22,B12=23,依此类推========解决方法:=============================== Sub Text() If IsEmpty([A1]) Then [A1] = "你的数据" Else [A65536].End(xlUp).Offset(1, 0).Value = "你的数据" End If End Sub ========提问 ================= 判断word中表格是否为空========解决方法:==============================='a.Cells.Count=41,46,41+5*7 Dim list%'你的要求可能是这样 With ActiveDocument.Tables(1).Range For i = 41 To 41 + 5 * 7 Step 5 '测得第一项的后面对应的是第41个单元格,相差是5。
所以,step=5 list = list + 1 '利用list来得到是第几项没有加项 If Len(.Cells(i).Range.Text) = 2 Then '因为类回车加+竖线加在一起是2个长度。
所以。
。
这样判断 'n = .Cells(i - 4).Range.Text '取得单元格的内容+回车+竖线 'n = Mid(n, 1, Len(n) - 2) '去掉回车+竖线的,即我们所看到的内容 MsgBox "提示:没有给第" & list & "项打分!", vbOKOnly, "www.excelhome.net" .Cells(i).Range.Select '选中所在的单元格 Exit Sub End If Next End With
转载请注明出处51数据库 » word vba inlineshape
我只想好好睡一觉