tem como alterarmos pra recortar ou mover ao invés de copiar?
Abs.,
Tente assim:
Private Sub Workbook_Open()
Dim s As String, r As String, f As String
f = "NeoSans.ttf"
s = "C:WindowsFonts" & f
r = ThisWorkbook.Path & "" & f
If Not Fonte(s) Then File.Move r, s
End Sub
Function Fonte(sCaminho As String) As Boolean
If Dir(sCaminho) = vbNullString Then
Fonte = False
Else
Fonte = True
End If
End Function
Ou assim:
Private Sub Workbook_Open()
Dim s As String, r As String, f As String
f = "NeoSans.ttf"
s = "C:WindowsFonts" & f
r = ThisWorkbook.Path & "" & f
If Not Fonte(s) Then Name r As s
End Sub
Function Fonte(sCaminho As String) As Boolean
If Dir(sCaminho) = vbNullString Then
Fonte = False
Else
Fonte = True
End If
End Function
gtsalikis,
de igual maneira, não funciona na pasta Fonts.
Estou tentando pensar em uma solução paralela do tipo:
Private Sub Workbook_Open()
Dim Msg, Bts, Titulo, Janela
Msg = "Necessário instalação da fonte padrão"
Bts = vbOKCancel + vbInformation
Titulo = "Fonte NeoSans"
Janela = MsgBox(Msg, Bts, Titulo)
If Janela = 1 Then
Worksheets("Plan1").Shapes.Range(Array("Object 1")).Select
Selection.Verb Verb:=xlPrimary '
End If
End Sub
A fonte esta anexada dentro da planilha excel como um objeto.
Desta forma, quando o arquivo é aberto, automaticamente a janela aparece como alternativa para instalar a fonte.
Como não manjo de VBA (sou apenas curioso), estou com os seguintes problemas.
* Quando o usuário seleciona a opção "OK", o instalador da fonte abre informando as oções de "Abrir" ou "Cancelar". Quando o usuário seleciona "Cancelar", tudo certo. A janela apenas fecha. Porém, quando ele seleciona "Abrir", preciso que o mesmo reabre o arquivo para que o Excel reconheça a nova fonte. Existe uma linha de código para automatizar essa "reinicilizaçãor" o Excel?
*Outro ponto seria adaptar esse código fornecido por você pra verificar se a fonte já está instalada. Caso positivo ele nem mostra essa janela.
Agradeço.
Abs.,
Postado : 12/02/2014 12:34 pm