Armazenar filtros pessoais da coluna do Excel do usuário em um arquivo semelhante a um cookie?

0

Estou desenvolvendo um aplicativo de geração de relatórios (que emocionante) que publica relatórios em HTML, PDF e Excel. Na versão HTML, deixo que o usuário selecione com quais colunas se interessam e filtre os outros. Isso é completamente tratado no navegador, então todos os dados & O HTML gerado e armazenado em cache para o relatório xyz é o mesmo para Alice e para o Bob, embora exibam colunas diferentes em seus navegadores. As colunas que eles ocultam são salvas em um cookie, portanto, se elas alternarem os navegadores, elas precisam reaplicar essas configurações.

Gostaria de fazer o mesmo com os arquivos do Excel. Existe alguma maneira que eu possa salvar esta lista de colunas para se esconder em algum lugar como Personal.xls ou em qualquer outro lugar, e incluir uma macro no arquivo gerado do Excel que lê a lista de colunas e aplica-lo?

(Melhor ainda seria se a Macro pudesse ser armazenada em Personal.xls e executada automaticamente quando as planilhas correspondentes a uma certa regex fossem abertas, mas talvez isso seja impossível, ou talvez devesse ser uma pergunta à parte.)

É algo como um cookie possível de implementar no Excel?

    
por iconoclast 14.07.2014 / 18:43

1 resposta

1

Na macro VBA, você pode usar o objeto File System para ler e gravar em um arquivo. Um exemplo de uso deste objeto do MSDN:

Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\testfile.txt", True)
a.WriteLine("This is a test.")
a.Close

Você pode usar o FSO para garantir que o arquivo esteja lá, crie-o ou abra-o, escreva nele e leia a partir dele.

Você também pode armazenar as colunas em uma pasta de trabalho separada que seria gerada e lida no VBA sem a sobrecarga de código do FSO, mas o FSO parece ser uma opção mais limpa para o que você está fazendo.

    
por 14.07.2014 / 23:15