Foxtable(狐表)用户栏目专家坐堂 → [求助] 还原字体的简便方法


  共有2946人关注过本帖平板打印复制链接

主题:[求助] 还原字体的简便方法

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
[求助] 还原字体的简便方法  发帖心情 Post By:2015/11/11 10:08:00 [只看该作者]

Dim str As String = CurrentTable.Font.Name & "|" & CurrentTable.Font.Size & "|" & CurrentTable.Font.Style
Output.Show(str)  'str = "宋体|9|0"

CurrentTable.Font = New Font(str.Split("|")(0),CInt(str.Split("|")(1)),CInt(str.Split("|")(2)))

红色部分报错。

可以用动态函数解决问题,但是太啰嗦:
Dim fntstyle() As String = {"FontStyle.Regular","FontStyle.Bold","FontStyle.Italic","FontStyle.Bold Or FontStyle.Italic","FontStyle.Regular Or FontStyle.Underline","FontStyle.Bold Or FontStyle.Underline", _
"FontStyle.Italic Or FontStyle.Underline","FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline","FontStyle.Regular Or FontStyle.Strikeout","FontStyle.Bold Or FontStyle.Strikeout", _
"FontStyle.Italic Or FontStyle.Strikeout","FontStyle.Bold Or FontStyle.Italic Or FontStyle.Strikeout","FontStyle.Regular Or FontStyle.Strikeout Or FontStyle.Underline", _
"FontStyle.Bold Or FontStyle.Strikeout Or FontStyle.Underline","FontStyle.Italic Or FontStyle.Strikeout Or FontStyle.Underline","FontStyle.Bold Or FontStyle.Italic Or FontStyle.Strikeout Or FontStyle.Underline"}

Dim code As String
Code = "Dim fnt As Font = New Font(""" & str.Split("|")(0) & """," & CInt(str.Split("|")(1)) & "," & fntstyle(str.Split("|")(2)) & ")" & vbcrlf
Code = Code & "Return fnt"
Functions.Remove("字体")
Functions.Add("字体",Code)
Functions.Complie()
CurrentTable.Font = Functions.Execute("字体")

有没有简便的方法,还原字体?

 回到顶部