热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用vb调用vba在word中插入图片的代码

过程名:wdout作用:使用定义好的模板,自动将其中的形如{????}的字符以字段中的内容替换,并将{照片}替换成照片。如果没有照片,则删除相应的替换字符。参数:photofile—&md

过程名:wdout

作用:使用定义好的模板,自动将其中的形如{????}的字符以字段中的内容替换,并将{照片}替换成照片。如果没有照片,则删除相应的替换字符。

参数:photofile——照片文件的路径字符串,为完整绝对路径。不判断文件是否存在,如果不存在将出错。

插入图片其实只有一句
wdApp.Selection.InlineShapes.AddPicture FileName:= _
            PhotoFile, LinkToFile:
=False, SaveWithDocument:= _
            
True
可以用word的宏记录取得相应的代码。

Private Function WdOut(ByVal PhotoFile As String)
''{单位}{费用名称}{费用名细}{大写金额}{金额}{鉴定单位}{经办人}{日期}

Dim wdApp As Object, wdDoc As Object
Dim i As Integer

If CheckWord = False Then
    
MsgBox "没有安装Word软件或软件安装错误!", vbExclamation
    
Exit Function
End If

If DotName = "" Or Not FileExist(DotName) Then
        
MsgBox "没有找到打印模板,无法打印!!", vbExclamation
        
Exit Function
End If

MsgWinShow 
"正在从模板生成文档..."


''If Not wdDoc Is Nothing Then
'
'    On Error Resume Next
'
'    wdDoc.Close wdDoNotSaveChanges
'
'    Set wdDoc = Nothing
'
'    wdApp.Quit
'
'    Set wdApp = Nothing
'
'    On Error GoTo 0
'
'End If
'
'

Set wdApp = CreateObject("Word.Application")
With wdApp
'    .Visible = True
    Set wdDoc = .Documents.Add(DotName, False0True)         ''wdNewBlankDocument=0
End With

For i = 0 To adoRS.Fields.Count - 1
    
'With .Content.Find
    
    
Select Case adoRS.Fields(i).Name
    
Case "照片"
        wdApp.Selection.Find.ClearFormatting
        
With wdApp.Selection.Find
            .Text 
= "{照片}"
            .Replacement.Text 
= "A"
            .Forward 
= True
            .Wrap 
= wdFindContinue
            .Format 
= False
            .MatchCase 
= False
            .MatchWholeWord 
= False
            .MatchByte 
= True
            .MatchWildcards 
= False
            .MatchSoundsLike 
= False
            .MatchAllWordForms 
= False
        
End With
        
        wdApp.Selection.Find.Execute
        wdApp.Selection.Delete Unit:
=1, Count:=1            ''删除        1=wdCharacter
        
    
If PhotoFile > "" Then
        wdApp.Selection.InlineShapes.AddPicture FileName:
= _
            PhotoFile, LinkToFile:
=False, SaveWithDocument:= _
            
True
        wdApp.Selection.MoveLeft Unit:
=wdCharacter, Count:=1
        wdApp.Selection.MoveRight Unit:
=wdCharacter, Count:=1, Extend:=wdExtend
        wdApp.Selection.InlineShapes(
1).Fill.Visible = 0        ''0= msoFalse
        wdApp.Selection.InlineShapes(1).LockAspectRatio = -1    ''-1= msoTrue
        wdApp.Selection.InlineShapes(1).Height = 28 * 4.1
        wdApp.Selection.InlineShapes(
1).Width = 28 * 2.8
    
End If
    
Case Else
    
    
With wdApp.Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        
        .Text 
= "{" & adoRS.Fields(i).Name & "}"
        .Replacement.Text 
= adoRS.Fields(i).Value & ""
        .Forward 
= True
        .Wrap 
= 1       ''1=wdFindContinue
        .Format = False
        .MatchCase 
= False
        .MatchWholeWord 
= False
        .MatchByte 
= True
        .MatchWildcards 
= False
        .MatchSoundsLike 
= False
        .MatchAllWordForms 
= False
        .Execute 
Replace:=2     ''2=wdReplaceAll
    End With
    
    
End Select
Next
    wdApp.Visible 
= True
    
Set wdDoc = Nothing
Set wdApp = Nothing


MsgWinHide

End Function

 


推荐阅读
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • This article discusses the efficiency of using char str[] and char *str and whether there is any reason to prefer one over the other. It explains the difference between the two and provides an example to illustrate their usage. ... [详细]
  • 本文介绍了一个从入门到高手的VB.NET源代码,通过学习这些源代码,可以在21天内成为VB.NET高手。文章提供了下载地址,并提醒读者加入作者的QQ群和收藏作者的博客。 ... [详细]
  • 本文详细介绍了使用C#实现Word模版打印的方案。包括添加COM引用、新建Word操作类、开启Word进程、加载模版文件等步骤。通过该方案可以实现C#对Word文档的打印功能。 ... [详细]
  • Opencv提供了几种分类器,例程里通过字符识别来进行说明的1、支持向量机(SVM):给定训练样本,支持向量机建立一个超平面作为决策平面,使得正例和反例之间的隔离边缘被最大化。函数原型:训练原型cv ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • 本文讨论了如何使用IF函数从基于有限输入列表的有限输出列表中获取输出,并提出了是否有更快/更有效的执行代码的方法。作者希望了解是否有办法缩短代码,并从自我开发的角度来看是否有更好的方法。提供的代码可以按原样工作,但作者想知道是否有更好的方法来执行这样的任务。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • VBA操作Excel之设置单元格属性
    VBA操作Excel简介一、VBA读写Excel文件二、VBA设置单元格属性三、VBA弹出输入和输出窗口参考文档一、VBA读写Excel文件VBA简介及打开Excel文件方法见VB ... [详细]
author-avatar
key920721
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有