strDesktop retorna uma string sem um "\" final. Portanto, strDesktop & strZipFile retornará uma string para um caminho que não existe.
Para ambas as concatenações, insira & "\" (por exemplo, strDesktop & "\" & strZipFile ). Tanto quanto sei, o dobro "\" irá avaliar um único "\" em caminhos, pelo menos em alguns dialetos VB.
Eu também noto que você não testa a existência de arquivo antes de tentar descompactá-lo (o que realmente se refere ao erro) e que strDesktop é atribuído ao valor de "MeusDocumentos" (não é um erro, mais como "set duck = horse")