Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde,
Existe alguma forma de como fazer uma cópia de objeto ao abrir um documento.qvw?
Exemplo : Existe uma tabela dinâmica no meu modelo, quando abrir esse documento, a minha tabela dinâmica seja duplicada.
Seria um copiar / Colar de forma automática de um determinado objeto.
OBS: Quando abrir o documento, validar se já existe o objeto clonado, se existir, não deve clonar, caso não exista ai sim clonar o mesmo.
Para que dessa forma não fique clonando toda vez que usuário abra o documento e logo o usuário possuir 10 ,20 tabelas dinâmicas clonadas.
Maicon Mello
Maicon, a macro para clonar o gráfico é essa:
Sub CopiaGrafico
ActiveDocument.GetSheetObject("CH01").WriteXmlPropertiesFile("C:\Users\Yuri\AppData\Local\Temp\CH01.xml")
ActiveDocument.ActiveSheet.CreateObjectFromXmlPropertiesFile("C:\Users\Yuri\AppData\Local\Temp\CH01.xml")
End Sub
Maicon, talvez isso possa ser feito através de macros, mas qual seria o objetivo de ficar clonando os objetos?
Por que o usuário quer fazer algumas coisas em alguns objetos.
Ou seja ele quer mudar algumas propriedades !
Pode me ajudar ?
Maicon, mas o usuário já possui a possibilidade de desenvolver através do access point
Yuri, você viu minha primeira postagem ??
Você entendeu o que estou precisando ??
Problema que o usuário não tem acesso as propriedades de um objeto ! Ou seja ele entra na propriedade de uma tabela, porém as opções ficam desabilitadas.
Se eu copiar o objeto, ele tem acesso normal nas propriedades do objeto , e esse objeto fica salvo somente no perfil dele.
Qual a postagem?
Veja se você não bloqueou a edição do usuário:
Propriedades do Documento -> Aba Segurança -> Veja as opções de alteração, por exemplo: Incluir pastas.
Outras configurações de segurança: Propriedades da Pasta -> Segurança -> Habilite as opções dentro do quadro "Privilégios do usuário".
Habilite Aplicar a todas as pastas
Desabilite Apenas Leitura
Clique em aplicar.
Ok Yuri , ja fiz isso , porém ainda não faz o que quero.
as propriedades ficam desabilitadas.
Exemplo : Quero colocar um subtotal de um campo via WEB, não fica habilitada essa opção.
Preciso realmente copiar o objeto via macro, pelo motivo que gostaria de clonar ao abrir o modelo. Sem que o usuário perceba que foi clonado.
Maicon,
Quando você abre uma aplicação via web seja com interface ajax (sem plugin) ou com plugin, seus objetos ficam "protegidos" contra modificações pelo usuário final. Este é o comportamento padrão.
Para que um usuário modifique um objeto existente ele tem que clonar o objeto, Esta cópia ele pode modificar a vontade.
O novo objeto é privado, isto é, somente o usuário que criou pode vê-lo ou modificá-lo. Para que outros usuário vejam o objeto, o usuário que o criou pode compartilhar o objeto com todos ou com usuários específicos indicando os ids de rede de cada um.
O usuário também pode criar objetos a partir do zero se ele quiser.
Não vejo sentido um recurso para clonar objeto automaticamente ao abrir a aplicação. O melhor é treinar o usuário a utilizar os recursos da ferramenta de forma adequada.
Abraço,
Pablo
Bom dia Pablo, agradeço seu retorno, já tinha concluído que essa funcionalidade é exatamente isso que você esta me dizendo, bacana, agora confirmou mesmo a minha dedução !
Porém , o cliente quer uma solução em um objeto que ele clone automaticamente quando usuário abre a sua aplicação !
A questão não seria o treinar o usuário ou não, pois vejo que é um processo simples ! Porém o cliente quer que isso seja transparente para usuário, só isso !!!
Mas de qualquer forma agradeço mais uma vez pelo retorno !
Maicon
Maicon, a macro para clonar o gráfico é essa:
Sub CopiaGrafico
ActiveDocument.GetSheetObject("CH01").WriteXmlPropertiesFile("C:\Users\Yuri\AppData\Local\Temp\CH01.xml")
ActiveDocument.ActiveSheet.CreateObjectFromXmlPropertiesFile("C:\Users\Yuri\AppData\Local\Temp\CH01.xml")
End Sub