Classe FileConverter - conversor de arquivo (Word VBA)
A classe FileConverter representa um conversor de arquivo que é usado para abrir ou salvar arquivos. Objeto FileConverter é membro do FileConverters coleção. Coleção FileConverters contém todos os conversores de arquivo instalados para abertura e salvamento de arquivos. Para usar uma variável de classe FileConverter, ela primeiro precisa ser instanciada por exemplo
Dim fcr as FileConverter
Set fcr = FileConverters(Index:=1)
For Each
Aqui está um exemplo de processamento dos itens FileConverter em uma coleção.
Dim fcr As FileConverter
For Each fcr In FileConverters
If fcr.CanOpen = True Then MsgBox fcr.OpenFormat & vbCr & fcr.FormatName
Next fcr
CanOpen
True se o conversor de arquivo especificado foi projetado para abrir arquivos. Boolean somente leitura.
A propriedade CanSave retorna True se o conversor de arquivo especificado puder ser usado para salvar (exportar) arquivos.
If FileConverters(1).CanOpen = True Then
MsgBox FileConverters(1).FormatName & " can open files"
End If
CanSave
True se o conversor de arquivo especificado foi projetado para salvar arquivos. Boolean somente leitura.
A propriedade CanOpen retorna True se o conversor de arquivo especificado puder ser usado para abrir (Importar) arquivos.
Dim lngSaveFormat As Long
If Application.FileConverters("WordPerfect6x").CanSave = _
True Then
lngSaveFormat = _
Application.FileConverters("WordPerfect6x").SaveFormat
ActiveDocument.SaveAs FileName:="C:\Document.wp", _
FileFormat:=lngSaveFormat
End If
ClassName
Retorna um nome exclusivo que identifica o conversor de arquivo. Cadeia de caracteressomente leitura.
MsgBox "ClassName= " & FileConverters(1).ClassName & vbCr _
& "FormatName= " & FileConverters(1).FormatName
Extensions
Retorna as extensões de nome de arquivo associadas ao objeto FileConverter especificado. String somente leitura.
Dim fcTemp As FileConverter
Set fcTemp = FileConverters(1)
MsgBox "The file name extensions for " & fcTemp.FormatName _
& " files are: " & fcTemp.Extensions
FormatName
Retorna o nome do conversor de arquivo especificado. Cadeia de caracteressomente leitura.
Os nomes dos formatos aparecem na caixa Salvar como tipo da caixa de diálogo Salvar como (menu Arquivo).
MsgBox FileConverters(1).FormatName
Name
Retorna o nome do objeto especificado. Cadeia de caracteressomente leitura.
Dim strName As String
strName = FileConverters(1).Name
OpenFormat
Retorna o formato de arquivo do conversor de arquivo especificado. Long somente leitura.
Essa propriedade pode ser qualquer constante WdOpenFormat válida ou pode ser um número exclusivo que representa um conversor de arquivo externo.
For Each fc In FileConverters
If fc.CanOpen = True Then _
MsgBox fc.OpenFormat & vbCr & fc.FormatName
Next fc
Path
Retorna o disco ou o caminho da Web para o objeto especificado. Cadeia de caracteressomente leitura.
O caminho não inclui um caractere precedente por exemplo, "C:\MSOffice" ou "https://MyServer". Use a propriedade PathSeparator para adicionar o caractere que separa pastas e letras de unidade. Use a propriedade Name para retornar o nome de arquivo sem o caminho. Você pode criar o nome de um conversor de arquivo completo concatenando as propriedades Path, PathSeparator e Name.
Dim strPath As String
strPath = FileConverters(1).Path
SaveFormat
Retorna o formato de arquivo do conversor de arquivo ou documento especificado. Long somente leitura.
Essa propriedade retorna um número exclusivo que especifica um conversor de arquivo externo ou uma constante WdSaveFormat . Use o valor da propriedade SaveFormat para o argumento __ FileFormat do método SaveAs2 para salvar um documento em um formato de arquivo para o qual não há uma constante WdSaveFormat correspondente.
Sub FileConverterList()
Dim cnvFile As FileConverter
Dim docNew As Document
'Create a new document and set a tab stop
Set docNew = Documents.Add
docNew.Paragraphs.Format.TabStops.Add _
Position:=InchesToPoints(3)
'List all the converters in the FileConverters collection
With docNew.Content
.InsertAfter "Name" & vbTab & "Number"
.InsertParagraphAfter
For Each cnvFile In FileConverters
If cnvFile.CanSave = True Then
.InsertAfter cnvFile.FormatName & vbTab & _
cnvFile.SaveFormat
.InsertParagraphAfter
End If
Next
.ConvertToTable
End With
End Sub