A seleção de células do Excel com dados em VBScript

votos
-2

Eu tenho tentado manipular arquivos do Excel com apenas o código VBScript. É um VBScript autônomo que está abrindo e fechando arquivos do Excel. O problema é com o Range(Selection, Selection.End(xlDown)).Selectcódigo. Quando eu executar esse código no Excel macro é selecionar todas as linhas com dados contínuos em uma célula particular. Como eu quero que ele faça. O problema é que quando eu tento executar esse código de VBScript. Tipo de arquivo é.vbs

Eu criei objeto Excel: Set objExcel = CreateObject(Excel.Application)dentro do script. e código objExcel.Range(A5).selecté selecionar a célula direita. Mas objExcel.Range(Selection, Selection.End(xlDown)).Selectnão está fazendo nada. É a mesma funcionalidade quando você segura shift + ctrle pressione a seta para baixo no Excel. Quando eu gravar macros no Excel e executá-lo também não há problemas, o mesmo código está sendo executado em VBA normalmente. Linhas estão sendo selecionados. O único problema é quando eu converter esse código para stand-alone VBScript que nada está acontecendo.

Eu preciso de uma maneira de selecionar células contínuas com dados nele. Mesmo como ctrl+shift+ para baixo, cima, esquerda, direita. Se você conhece alguma outra maneira de conseguir isso eu estou bem com isso.

Publicado 27/11/2018 em 18:02
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

VBScriptnão entende as constantes usadas pela VBAconfiguração tais como xlDown.

Você precisa fazer referência ao valor real xlDownem vez disso, que você pode começar a partir do local de MS Docs

Neste caso específico que você mencionou, o valor constante é -4121para que o seu comando no vbscriptseriam:

objExcel.Range(Selection, Selection.End(-4121)).Select i

No entanto, você deve sempre tentar evitar o uso de Select em VBA / VBScript devido à queda de desempenho, verifique aqui para mais informações

Respondeu 27/11/2018 em 18:11
fonte usuário

votos
0

Eu percebi isso quando eu usei um script de teste.

O problema era com xlDirection. O código começou a trabalhar quando comecei a usar os números a partir da documentação. Também havia um problema foi com a Selectionpalavra-chave no objExcel.Range(Selection, Selection.End(-4121)).Select. Ele voltou Object required:'Selection'. Eu adicionei objExel.a ambas as instâncias de Selection:

objExcel.Range(objExcel.Selection, objExcel.Selection.End(-4121)).Select.

É agora a funcionar como deveria.

Respondeu 28/11/2018 em 14:49
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more