Verificar associação

Como verificar se existe uma associação válida a uma propriedade dentro de um XObject através de script?

Ranniere,

Qual é o tipo da propriedade e o tipo da associação?

Na verdade é qualquer propriedade.
Uma propriedade que é um objeto eu consegui resolver com Not Is PROPRIEADE Nothing.
Agora queria saber das outras, como verificar se estão associadas a algo.

Pode usar a propriedade ‘Source’ da associação e o objeto ‘Err’ do VBScript. Por exemplo:

on error resume next
link = Application.GetObject("Dados.XObject1").Links.Item("Propriedade1").Source
set obj = Application.GetObject(link)
If Err.Number <> 0 then
	MsgBox Err.Description, 0, "Erro de script"
Else
	MsgBox "Nenhum erro encontrado.", 0, "Conferência de script"
End If

Veja mais detalhes no link abaixo:
http://kb.elipse.com.br/pt-br/questions/4243

1 Like

Se quiser usar a mesma ideia para as propriedades que são de um tipo de objeto, em vez de usar a propriedade Source da associação pode pegar o valor da propriedade direto. Porém é necessário desativar o objeto antes. Por exemplo:

on error resume next
Application.GetObject("Dados.XObject1").Deactivate()
link = Application.GetObject("Dados.XObject1").Teste
Application.GetObject("Dados.XObject1").Activate()
set obj = Application.GetObject(link)
If Err.Number <> 0 then
	MsgBox Err.Description, 0, "Erro de script"
Else
	MsgBox "Nenhum erro encontrado.", 0, "Conferência de script"
End If
1 Like

Dentro de um XObject eu consigo pegar?

Eu consegui aqui.

XObject.Links.Item(“Propriedade1”).Source

1 Like