Visual Basic for Applications:
Removendo aspas de uma string

Como fazer:

No VBA, existem várias abordagens para remover as aspas de uma string. Aqui está um exemplo simples usando a função Replace, que procura por uma subcadeia específica (neste caso, uma aspa) dentro de uma string e a substitui por outra subcadeia (uma string vazia, se estiver removendo).

Sub RemoveQuotesExample()
    Dim originalString As String
    originalString = "'This' is a ""test"" string."
    
    ' Remover aspas simples
    originalString = Replace(originalString, "'", "")
    
    ' Remover aspas duplas
    originalString = Replace(originalString, Chr(34), "")
    
    Debug.Print originalString 'Saída: This is a test string.
End Sub

Note que para aspas duplas, usamos Chr(34) porque uma aspa dupla é o caractere ASCII 34. Isso é necessário, pois aspas duplas também são usadas para denotar literais de string no VBA.

Para cenários mais matizados, onde as aspas podem fazer parte da formatação necessária (por exemplo, dentro de uma palavra citada), uma lógica mais sofisticada, talvez envolvendo Regex ou análise caractere por caractere, pode ser necessária.

Aprofundamento

O VBA, sendo um pilar na automação de tarefas dentro do pacote Microsoft Office, oferece um rico conjunto de funções de manipulação de strings, sendo Replace uma das mais frequentemente utilizadas. Esta função, porém, apenas arranha a superfície do que pode ser alcançado com o VBA em termos de manipulação de strings.

Historicamente, o VBA adotou de seus predecessores uma ênfase na simplicidade para tarefas de automação de escritório, daí a implementação direta de funções como Replace. No entanto, para tarefas de programação modernas, especialmente aquelas envolvendo manipulações complexas de strings ou saneamentos, o VBA pode mostrar suas limitações.

Nesses casos, os programadores podem recorrer a combinar o VBA com expressões regulares (via o objeto VBScript_RegExp_55.RegExp) para mais flexibilidade e poder na análise e manipulação de strings. Essa abordagem, porém, introduz complexidade adicional e exige um sólido entendimento de padrões de regex, o que pode não ser adequado para todos os usuários.

Apesar de suas limitações, a função Replace do VBA cobre eficientemente muitos cenários comuns envolvendo a remoção de aspas de strings. Ela serve como uma solução rápida e fácil para a maioria das necessidades de manipulação de strings sem mergulhar no território mais complexo do regex. Para aqueles que atingem os limites do que Replace e outras funções básicas de string podem fazer, explorar regex dentro do VBA ou considerar uma linguagem mais robusta, voltada para operações complexas de strings, pode ser os próximos melhores passos.