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