Imprimindo comentários no Visio 2016

1

Não consigo descobrir como imprimir os comentários incluídos no meu diagrama do Visio. Eu encontrei uma macro que deveria funcionar no Visio 2013. Ele criou um objeto que tinha os cabeçalhos de título, revisor, data e comentário. No entanto, não havia texto.
Acredito que a macro esteja quase certa, mas está faltando algo que mudou do Visio 2013 para o Visio 2016. Alguém pode ajudar?

Obrigado

    
por GuruLong 08.08.2017 / 20:02

1 resposta

0

Já faz um tempo desde que isso foi perguntado, mas eu corri para o problema hoje, então joguei um script rápido e sujo que cria um retângulo à esquerda da página atual (semelhante a outras soluções que vi) e então anexa todos comentários da página ativa para o novo objeto. Eu acho que a questão é porque o modelo para comentários no Visio 2016 é totalmente diferente do que era anteriormente.

Se isso ajudar alguém a se sentir à vontade para usá-lo, envie-me um e-mail se isso ajudar você

Obrigado,

Michael
[email protected]

'This is in no way comprehensive and is not intended to be production quality
'It does what it does
'[email protected] July 2018

Public Sub ShowComments()
Dim oPage As Visio.Page
Dim oShape As Visio.Shape
Dim oComments As Visio.Comment
Dim sText As String

Set oPage = Visio.ActivePage
sText = "Initials" & vbTab & "Date" & vbTab & "Comment"

'Loop through comments creating a string containing them all
For Each oComment In oPage.Comments
    sText = sText & vbCrLf & oComment.AuthorInitials
    sText = sText & vbTab & oComment.EditDate
    sText = sText & vbTab & oComment.Text
Next oComment

'Create a new shape with all the comments attached as visible text
'Save the current value of autosize, create a rectangle using autosize=0     then restore autosize to its orignal value
'The rectangle is created as the same size as the current page but immediately to the left of it
Dim iAutoSize As Integer
iAutoSize = oPage.AutoSize
oPage.AutoSize = 0
Set oShape = oPage.DrawRectangle(-oPage.PageSheet.Cells("PageWidth").ResultIU, 0, 0, oPage.PageSheet.Cells("PageHeight").ResultIU)
oPage.AutoSize = iAutoSize
'Set the text alignment for the rectangle to Top/Left
oShape.Cells("Para.HorzAlign").Formula = "0"
oShape.Cells("VerticalAlign").Formula = "0"
'Give it a name and add the comments to it
oShape.Name = "Review Comments"
oShape.Text = sText
End Sub
    
por 09.07.2018 / 13:13