ABRINDO OBJETO INSERIDO EM PLAN VIA USERFORM

PABLOMOREIRAGV 09/03/2015 10:43:32
#445081
Olá pessoal,

Tenho uma planilha que tem a função de abrir um formulário. Só que criei um tutorial em PDF pra ela. Daí inseri o arquivo PDF como objeto na planilha para abrir pelo Userform. Salvei o arquivo excel como suplemento, para que as funções da planilha fique ativa para qualquer arquivo. E depois de adicionar o suplemento e tentar abrir o arquivo PDF ele dá erro dizendo que o arquivo não pode ser encontrado.
O código que estou usando é:

ActiveSheet.Shapes([Ô]Object 2[Ô]).Select
Selection.Verb Verb:=xlPrimary

Alguém pode me ajudar. Desde já agradeço.

Obrigado
FILMAN 10/03/2015 22:41:42
#445140
Olá, vou dar minha opinião:

Primeiro, não salvar arquivos como objetos no excel ara serem chamados posteriormente via VBA!
- Nesse caso você me enviou o arquivo .xlsm e a referencia do pdf no arquivo estava com sua área de trabalho (Falha)
- O usuário pode manipular a planilha para qualquer pasta e isso acarretará em erros, igual ocorreu comigo!

Segundo, crie uma pasta para sua planilha e coloque coloque os pdf[ô]s na mesma e chame a execução via shellExecute
- O shellExecute é criado por API, pequise no google que vai encontrar facilmente (ShellExecute in VBA)

Terceiro, se não quiser deixar os arquivos a visto do usuário que no meu ver não há problema algum, já que é manual para uso mesmo, mas se mesmo assim não quiser que o usuário veja, então.
- Crie um banco de dados access e grave esse pdf em uma tabela com o campo Object OLE
- Crie uma conexão no excel via VBA ara acessar o access e salvar o arquivo temporariamente em uma pasta
- Depois abra o arquivo com o ShellExecute, conforme dito acima!


Bom, espero ter ajudado
MITSUEDA 11/03/2015 14:16:17
#445154
Resposta escolhida
Fala Pablo!

To no corre aqui cara! fechamento de ano, de mês. Eu ainda tenho 2 trampos! ta osso!!!

Mas essa é facil, pega a dica abaixo.

[ô]Declare uma variavel generica para o objeto
Dim pdf As Object

[ô]Aqui é o que importa! o Thisworkbook especifica que é essa pasta de trabalho ou seja seu xla não a planilha ativa,
Set pdf = ThisWorkbook.Sheets([Ô]Plan1[Ô]).OLEObjects([Ô]Objeto 1[Ô])

[ô]Ai chama normalmente
pdf.Verb Verb:=xlPrimary

Abraço
Tópico encerrado , respostas não são mais permitidas