Eu montei um VBA que deveria fazer o truque para você.
Algumas suposições
- É o tamanho da página A4 com o Portrait Layout.
- 4 Os retângulos são colocados um ao lado do outro.
- O tamanho da fonte do texto se ajusta à altura do retângulo, em vez de alterar o tamanho da forma.
- O arquivo de texto contém itens um abaixo do outro
Você pode precisar estudar o código e alterá-lo para atender às suas necessidades. Por exemplo. Você pode querer ter um retângulo maior do que o que eu criei. Ou você pode precisar remover o interior For Next
Loop e colocá-los um abaixo do outro e assim por diante.
Abra um diagrama do Visio em branco. Definir unidades métricas. Pressione ALT + F11 para acessar o VBA Editor. Inserir um módulo no menu Inserir. Coloque o seguinte código nele.
Public Sub DrawRectangle_Example()
Dim vsoPages As Visio.Pages
Dim vsoPage As Visio.Page
Dim vsoDocument As Visio.Document
Dim Textline As String
Const File1 = "C:\Temp\" 'Set path here
Const File2 = "Visio.txt" 'Set filename with extension here
Dim vsoShape As Visio.Shape
Open File1 & File2 For Input As #1
Do While Not EOF(1)
For i = 11.3 To 1.1 Step -0.6
For j = 0.5 To 6.2 Step 1.9
Set vsoShape = ActivePage.DrawRectangle(j, i, j + 1.5, i - 0.3)
Line Input #1, Textline
vsoShape.Text = Textline
vsoShape.CellsSRC(visSectionCharacter, 0, visCharacterSize).FormulaU = "MIN(1,Height/TEXTHEIGHT(TheText,Width))*13&""pt"""
If EOF(1) Then
GoTo myend
End If
Next j
Next i
If EOF(1) Then
GoTo myend
End If
Set vsoDocument = ActiveDocument
Set vsoPages = vsoDocument.Pages
Set vsoPage = vsoPages.Add
Loop
myend:
Close #1
End Sub
Existem duas constantes definidas no código. Você precisa definir o caminho e o nome do arquivo que se refere ao seu arquivo de texto.
Const File1 = "C:\Temp\" 'Set path here
Const File2 = "Visio.txt" 'Set filename with extension here
Na página em branco do Visio, pressione ALT + F8 e execute essa macro. Aguarde alguns segundos e retângulos com texto embutido, pois os respectivos itens de linha do seu arquivo de texto devem aparecer na página do Visio. Se preencher uma página, ela inserirá a próxima página e assim por diante.
Teste isso e verifique se isso funciona para você.