比如说,我想让图例中的中文全都是楷体,英文全都是Verdana.可以做到么?
解决方案 »
- VB导出Exce问题,您能解决吗?
- vb中调用dll中的函数,有答案后立马结贴
- 求VB远程获取,更改MySQL数据库及模拟鼠标点击的方法。
- VB与VC中API中字符串类型的转换问题
- 在vsflexgrid中,如何区分用鼠标点击的是左上角白色表格部分,还是剩下的深灰色背景部分呢?
- 请问如何把msadox.dll加载入VB的部件中?
- 如何让VB窗体位于最上层,其它的窗口不会盖住它?
- ado访问数据库,执行Filter后,无法断开与数据库的连接
- VB高手请进,80分奉送!!!
- 再一次高分求教RICHTEXTBOX问题!(目前我只能用到73分)
- 一个关于VB数据库的申明问题
- VBA中,如何把数组作参数传给函数,并返回处理后的数组
手工做的话,分别刷两次字体就行了:先刷成楷体,然后再刷成Verdana.
我用VBA模仿手工,也是分两次刷,甚至在之间还加了doevents,但发现还是不行.BTW,你是泰山?10年前的那个泰山?
Dim vbbook As Object
Dim Fname$, AppDisk$, Trows&, Tcols&, aa$, bb$, i&, j&, k&
Private Sub Form_Load()
AppDisk = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\")
Fname = AppDisk & "aaa.xls"
Set VbExcell = CreateObject("Excel.Application") '创建excel对象
VbExcell.Visible = True '对象可见
Set vbbook = VbExcell.Workbooks.Open(Fname) '打开文件
If Val(VbExcell.Application.Version) >= 8 Then
Set vbbook = VbExcell.ActiveSheet
Else
Set vbbook = VbExcell
End If
End SubPrivate Sub Command1_Click()
Trows = VbExcell.ActiveSheet.UsedRange.Rows.Count
Tcols = VbExcell.ActiveSheet.UsedRange.Columns.Count
For i = 1 To Trows
For j = 1 To Tcols
aa = VbExcell.Cells(i, j).Text
If ChkChinese(aa) Then
VbExcell.Cells(i, j).Font.Name = "楷体"
Else
VbExcell.Cells(i, j).Font.Name = "Verdana"
End If
Next
Next i
End SubFunction ChkChinese(TmpStr$) As Boolean
ChkChinese = False
For k = 1 To Len(TmpStr)
bb = UCase(Mid(TmpStr, k, 1))
If bb = "." Or (Asc(bb) >= 48 And Asc(bb) <= 57) Or (Asc(bb) >= 65 And Asc(bb) <= 90) Then
Else
ChkChinese = True: Exit For
End If
Next k
End Function
手工做的话,分别刷两次字体就行了:先刷成楷体,然后再刷成Verdana.
我用VBA模仿手工,也是分两次刷,甚至在之间还加了doevents,但发现还是不行.既然手工可作,建议【宏】【录制宏】试试,能够实现。