Como defino o local de salvamento do arquivo padrão de um documento do Office para ser a mesma pasta que a pasta do modelo?

4

Eu tenho uma série de modelos do Microsoft Office 2010 (Excel, PowerPoint e Word) espalhados por meio de uma hierarquia de pastas predefinida.

Eu preciso ter certeza de que quando um novo documento é criado a partir de um desses modelos, o padrão é salvá-lo na mesma pasta que o modelo do qual ele foi criado.

Consegui realizar a tarefa do Word usando uma macro como

Sub AutoNew()
   ChangeFileOpenDirectory ActiveDocument.AttachedTemplate.Path
End Sub

mas não tive sucesso em replicar esse comportamento no Excel nem no PowerPoint.

    
por Alfred Myers 12.09.2012 / 16:29

1 resposta

1

Os modelos são bem diferentes no Excel e no Word pelo que consigo ver, por isso não sei se é possível do jeito que você está perguntando.

Uma solução possível, no entanto, seria criar um arquivo normal do Excel (.xls / .xlsx) nas várias pastas que é essencialmente o mesmo documento 'modelo'. Em seguida, marque o arquivo como Somente Leitura no sistema operacional (clique com o botão direito do mouse, propriedades, somente leitura).

Quando o Excel abrir um arquivo somente leitura, ele não permitirá que você salve o original; assim, quando você tentar salvá-lo, será solicitado um novo nome e o Excel será o padrão da pasta aberta. o documento de .

Se você quiser ficar mais chique, você pode ter um evento Workbook.Open acionado que verifica se ActiveWorkbook.ReadOnly é True , então solicite um nome de arquivo e salve o arquivo.

    
por 01.10.2012 / 22:26