No post : http://entreacadeiraeoteclado.blogspot.com/2009/08/sql-data-dictionary.html
Induzi um pequeno erro, os Length em alguns casos estavam a ser mal processados, e retornavam length "0".
Isto criou-me um problema grave, já que eu estava a usar os outputs para um documento .doc, com isto tinha um documento de 80 páginas com vários bugs.
Como os dados "errados" estavam dentro de uma tabela, e consoante o nome da coluna os lengths eram diffs, esperava-me uma tarefa árdua.
Ou não ...
Como tinha seguido a msm nomenclatura para tabelas mestres, no caso da coluna "code" o length seria 50, a coluna "name" seriam 4000 resolvi isto com um pequeno Sub de VBA.
Aqui fica o código para quem precisar (inclusive eu ... não quero perder isto :)
Sub Replace_EmptyChars()
Dim objTable As Table
Dim code As String
Dim name As String
For Each objTable In ActiveDocument.Tables
With objTable
code = .Cell(3, 1).Range.Text
name = .Cell(4, 1).Range.Text
If code = "Code" & Chr(13) & Chr(7) Then
.Cell(3, 3).Range.Text = "(50)"
End If
If name = "Name" & Chr(13) & Chr(7) Then
.Cell(4, 3).Range.Text = "(4000)"
End If
End With
Next objTable
End Sub
PS : A condição "Chr(13) & Chr(7)" é pq o Word teima em colocar uns chars adicionais que são necessários para o Find-Replace funcionar.


0 comments:
Enviar um comentário