Foxtable(狐表)用户栏目专家坐堂 → [求助可以用代码控制word表格和excel表的字体和字号吗?


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

主题:[求助可以用代码控制word表格和excel表的字体和字号吗?

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


加好友 发短信
等级:童狐 帖子:211 积分:1997 威望:0 精华:0 注册:2014/11/11 10:23:00
[求助可以用代码控制word表格和excel表的字体和字号吗?  发帖心情 Post By:2017/5/29 10:46:00 [只看该作者]

可以用代码控制word单元格和excel表的字体和字号吗?现希望表格高度不变,段落不变,只将文字和段落多的单元格判断后自动更改字号。
[此贴子已经被作者于2017/5/29 10:46:06编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/29 11:07:00 [只看该作者]

 要用到vba进行操作。

 

 http://www.foxtable.com/webhelp/scr/2121.htm

 


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


加好友 发短信
等级:童狐 帖子:211 积分:1997 威望:0 精华:0 注册:2014/11/11 10:23:00
  发帖心情 Post By:2017/5/29 13:36:00 [只看该作者]

谢谢
这个链接是excel的,很实用:
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\Report.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Range("A1")
Rg.Value = "Foxtable操控Excel全攻略"
With Rg.Font
    .Name = "黑体" '字体
    .Size = 20 '字号
    .Bold = True   '加粗
    .Italic = True '斜体
    .ColorIndex = 3'颜色
End With
App.Visible = True

能不能帮改一下用于word的,特别是word表格的?


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/29 14:26:00 [只看该作者]

参考

 

Dim app As New MSWord.Application
try
    Dim fileName = "d:\test.doc"
    Dim doc = app.Documents.Open(fileName)
    Dim t = doc.Tables(1)
   
    t.Cell(1, 2).Select
    With app.ActiveWindow.Selection.Font
        .Name = "黑体" '字体
        .Size = 20 '字号
        .Bold = True   '加粗
        .Italic = True '斜体
        .ColorIndex = 3'颜色
    End With
    app.visible = True
catch ex As exception
    msgbox(ex.message)
    app.Quit
finally
    'app.Quit
End try

 


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


加好友 发短信
等级:童狐 帖子:211 积分:1997 威望:0 精华:0 注册:2014/11/11 10:23:00
  发帖心情 Post By:2017/5/29 14:55:00 [只看该作者]

谢谢!

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


加好友 发短信
等级:童狐 帖子:211 积分:1997 威望:0 精华:0 注册:2014/11/11 10:23:00
  发帖心情 Post By:2017/6/4 12:45:00 [只看该作者]

如果用以下代码打印WORD报表,用代码怎么设定某单元格字号大小?

Dim tm As String  = ProjectPath & "Attachments\人员信息.doc" '指定模板文件
Dim
fl As String = ProjectPath & "Reports\人员信息.doc" '指定目标文件
Dim
wrt As New WordReport(Tables("简历"),tm,fl) '定义一个WordReport
wrt.Build()
'逐行生成报表
wrt.Show()
'显示报表

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/4 16:16:00 [只看该作者]

 你为什么不直接在模板那里先设置好?

 

 生成报表后,重新打开word文件,然后设置。

 

wrt.Build()

wrt.quit()

'然后加上4楼的代码


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


加好友 发短信
等级:童狐 帖子:211 积分:1997 威望:0 精华:0 注册:2014/11/11 10:23:00
  发帖心情 Post By:2017/6/5 2:07:00 [只看该作者]

主要是文字有时多有时少,文字多会撑爆表格,想要人工做个下拉框设定字号,再不行只能做多个字体大小不同的报表了。


以下代码可以运行,但是在关闭WORD后,WORD出现问题提示:



此主题相关图片如下:捕获.jpg
按此在新窗口浏览图片

此主题相关图片如下:捕获1.jpg
按此在新窗口浏览图片

 

Dim tm As String  = ProjectPath & "Attachments\人员信息.doc"    '指定模板文件

Dim ffl As String = ProjectPath & "Reports\人员信息.doc"        '指定目标文件

Dim wrt As New WordReport(Tables("简历"),tm,ffl)                  '定义一个WordReport

wrt.Build() '将数据逐行生成报表

wrt.Quit    '关闭WROD报表

 

Dim app As New MSWord.Application

try

    Dim fileName = ProjectPath & "Reports\人员信息.doc"

    Dim doc = app.Documents.Open(fileName)

    Dim t = doc.Tables(1)

    

    t.Cell(10, 2).Select

    With app.ActiveWindow.Selection.Font

        .Size = 16 '字号

    End With

    app.visible = True

catch ex As exception

    msgbox(ex.message)

'    app.Quit

finally

    'app.Quit

End try

[此贴子已经被作者于2017/6/5 2:10:13编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/5 8:51:00 [只看该作者]

1、单元不能设置格式【自动缩放】?可以根据单元格的宽度和高度缩放你的字号的;

 

2、上图的问题,去找到对应的dot文件,把其删除即可。


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


加好友 发短信
等级:童狐 帖子:211 积分:1997 威望:0 精华:0 注册:2014/11/11 10:23:00
  发帖心情 Post By:2017/6/5 12:21:00 [只看该作者]

1.设置自动缩放不行,我这是个多段落的多行文本框,自动缩放只是将所有文字压缩为一行,没办法看。

2.删除对应的DOT文件,再打印操作还是出现上面的提示,但是不用设置字体这段代码就没问题。看来只能做多个字体大小不同报表了。

 回到顶部
总数 11 1 2 下一页