Foxtable(狐表)用户栏目专家坐堂 → 如何创建WORD文档并且存储到指定的文件夹


  共有9871人关注过本帖树形打印复制链接

主题:如何创建WORD文档并且存储到指定的文件夹

帅哥哟,离线,有人找我吗?
有点甜
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/31 22:30:00 [只看该作者]

执行下面的代码
app.Selection.InlineShapes.AddPicture("C:\SamplePicture.jpg")

 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2013/8/31 22:37:00 [只看该作者]

        app.Selection.Find.ClearFormatting()

        app.Selection.Find.Text = "[照片]"       

        app.Selection.Find.Replacement.ClearFormatting()

        app.Selection.Find.Replacement.Text = r("照片")       

        app.Selection.Find.Execute(Replace:=MSWord.WdReplace.wdReplaceAll)

这个事例中的能够替换到需要的地方而

app.Selection.InlineShapes.AddPicture("C:\SamplePicture.jpg")
只能把照片复制到光标的位置,如何让照片替代Word文档中"[照片]"的位置,并能否设置照片的大小


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/31 22:42:00 [只看该作者]

以下是引用cxabc123在2013-8-31 22:37:00的发言:

        app.Selection.Find.ClearFormatting()

        app.Selection.Find.Text = "[照片]"       

        app.Selection.Find.Replacement.ClearFormatting()

        app.Selection.Find.Replacement.Text = r("照片")       

        app.Selection.Find.Execute(Replace:=MSWord.WdReplace.wdReplaceAll)

这个事例中的能够替换到需要的地方而

app.Selection.InlineShapes.AddPicture("C:\SamplePicture.jpg")
只能把照片复制到光标的位置,如何让照片替代Word文档中"[照片]"的位置,并能否设置照片的大小


选中某个位置,选中某个对象,然后替换。先自己。

 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2013/8/31 22:59:00 [只看该作者]

请那位高手指点一下,就这一点卡壳,因为是自动生成报表,字符的引用问题已经解决,如果图片能够解决,就好多了,请大家帮忙

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/31 23:03:00 [只看该作者]

 哎……就不能自己看看帮助么?如果是模板的话,在开始的地方加入特殊字符xxxx,在结束插入特殊字符xxxx,然后就可以选中这块区域了,然后插入图片不就行了?


 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2013/8/31 23:12:00 [只看该作者]

编程语言根本不懂,要是懂一点的话,问题早就解决了,麻烦您了,您这回说的就是我要的结果,能写出具体的代码吗
[此贴子已经被作者于2013-8-31 23:12:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2013/8/31 23:39:00 [只看该作者]

 App.Selection.Find.ClearFormatting()
            App.Selection.Find.Text = "《图片》"
            App.Selection.Find.Replacement.ClearFormatting()  

     rng.Find.Execute("《图片》") 
    rng.Select()

            App.Selection.InlineShapes.AddPicture(""C:\SamplePicture.jpg"")
这样设置可以把图片插入到指定的位置,但是图片的大小如何设置,请指点

[此贴子已经被作者于2013-8-31 23:39:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2013/9/1 10:19:00 [只看该作者]

求高手指点,完善代码

 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2013/9/1 21:17:00 [只看该作者]


'操控Word文档,主要是文档合并
'*******************************
'*********以下代码可修改**********
Dim FileName = "复件 干部审计通知.doc"   '定义模版文件名
Dim Ctn As String = "干部审计"  '当前表表名,通用格式Functions.Execute("CurrentTableName")
Dim Tb As Table = Tables(Ctn)   '定义当前表,通用.

'*********以上代码可修改**********
'*******************************

If FileSys.DirectoryExists(ProjectPath & "Reports\") = False Then   '如果Reports文件夹不存在
    FileSys.CreateDirectory(ProjectPath & "Reports\")    '创建Reports文件夹
End If
Dim App As New MSWord.Application    '定义MSWord
Try
    '获得模版
    Dim nDoc = App.Documents.Open(ProjectPath & "Attachments\" & FileName)
    Dim count = App.Documents(FileName).Characters.Count
    Dim rng As MSWord.Range = App.Documents(FileName).Range(Start:=0, End:=count)
    rng.Select()   '全选
    rng.Copy()   '拷贝
    nDoc.Activate()

    '插入文段
    Dim idx As Integer = 0
    If Tb.Rows.Count > 0 Then
        For i As Integer = Tb.TopPosition To Tb.BottomPosition
            Dim cr As Row = Tb.Rows(i)
            If idx >= 1 Then
                rng = nDoc.Range(start:=0, End:=0)  '从后面前面粘贴
                rng.Paste
             End If

            '***********************************************
            '*********以下是代码主体部分,需要修改**********

            App.Selection.Find.ClearFormatting()
            App.Selection.Find.Text = "[审计通知]"
            App.Selection.Find.Replacement.ClearFormatting()
            App.Selection.Find.Replacement.Text = cr("审计通知")
            App.Selection.Find.Execute(Replace:=MSWord.WdReplace.wdReplaceAll)

App.Selection.Find.ClearFormatting()
App.Selection.Find.Text = "[审计年度]"
App.Selection.Find.Replacement.ClearFormatting()
App.Selection.Find.Replacement.Text = cr("审计年度")
App.Selection.Find.Execute(Replace:=MSWord.WdReplace.wdReplaceAll)

App.Selection.Find.ClearFormatting()
App.Selection.Find.Text = "[文号]"
App.Selection.Find.Replacement.ClearFormatting()
App.Selection.Find.Replacement.Text = cr("文号")
App.Selection.Find.Execute(Replace:=MSWord.WdReplace.wdReplaceAll)

App.Selection.Find.ClearFormatting()
App.Selection.Find.Text = "[委托时间]"
App.Selection.Find.Replacement.ClearFormatting()
App.Selection.Find.Replacement.Text = Format(cr("委托时间"),"yyyy年M月d日")
App.Selection.Find.Execute(Replace:=MSWord.WdReplace.wdReplaceAll)

            '*********以上是代码主体部分,需要修改**********
            '**********************************************
            idx += 1
        Next
    End If

    nDoc.SaveAs(ProjectPath & "Reports\" & FileName)
Catch ex As exception
    msgbox(ex.message)
Finally
    App.Quit
End Try

Dim Proc As New Process
Proc.File = ProjectPath & "Reports\" & FileName
Proc.Start()
上述代码通过测试正常,分享给大家

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/1 21:56:00 [只看该作者]

以下是引用cxabc123在2013-8-31 23:39:00的发言:
 App.Selection.Find.ClearFormatting()
            App.Selection.Find.Text = "《图片》"
            App.Selection.Find.Replacement.ClearFormatting()  

     rng.Find.Execute("《图片》") 
    rng.Select()

            App.Selection.InlineShapes.AddPicture(""C:\SamplePicture.jpg"")
这样设置可以把图片插入到指定的位置,但是图片的大小如何设置,请指点

[此贴子已经被作者于2013-8-31 23:39:07编辑过]


这个简单,比如,你可以《图片1》《图片1》里标记图片宽度和高度,然后插入之前对图片进行一下处理(生成一个合适的图片)

Dim bmp As New bitmap(getimage("d:\test.jpg"), 20, 30)
bmp.save("d:\temp.jpg")

 回到顶部
总数 23 上一页 1 2 3 下一页