
Ayuda, dividir muchos case of en varios sub.
Publicado por Gorka (42 intervenciones) el 23/08/2021 13:58:12
Hola amigos. Tengo una hoja Word con 4 marcadores. Tras muchas información recopilada de la web, consigo que rellene por marcadores a través de un procedimiento llamado Rellenar, lo que he escrito por código (6550 líneas), a través de un formulario muy simple.
Se lanza el formulario:
introduces la vía y el pk y se rellena automáticamente (por marcadores) la propia vía y el pk mas la denominación, el termino y el partido.

Subo dos hojas Word, aparentemente con el mismo código. La que funciona y la que no.
El que funciona perfectamente, llega un momento en que no puedo ejecutar porque se pasa de 64 kb y salta el error "Error de compilación: Procedimiento demasiado largo". Es a partir del Select Case, pero es que necesito todos.
Lo que he hecho es partir todo ese código Select Case (6550 líneas) en procedimientos sub: Aux1, Aux2,... que es la otra hoja Word (la que no funciona) y no se cuelga pero...
aquí me viene el problema. No se como hacer para que el evento CommandButton1_Click (que es desde donde se ejecuta el procedimiento "Rellenar" marcadores, lea cada uno de estos subprocedimientos y luego se ejecute como el primer Word.
Que tengo que hacer, ¿declarar una variable para todos los Sub Aux y después recorrerlos con un For? Es que no se como se hace o hay otra forma sin modificar demasiado el codigo.
Noto que el problema lo tengo en Select Case sVia, pues queda dentro del procedimiento CommandButton

y en el que no funciona, tengo el Select Case dentro del procedimiento Aux1 y siguientes

Nota: el Word que SI funciona, desde la linea 160 en adelante, la he marcado como comentarios para que no os salga el error y podáis probar el formulario.
Gracias anticipadas.
Como no se ven bien las miniaturas, las subo aqui en el orden en que aparecen:
FORMULARIO

FRASE DONDE TRABAJA EL FORMULARIO

CODIGO DEL WORD QUE SI FUNCIONA

CODIGO QUE NO CONSIGO QUE FUNCIONE EN EL OTRO WORD

Se lanza el formulario:
Subo dos hojas Word, aparentemente con el mismo código. La que funciona y la que no.
El que funciona perfectamente, llega un momento en que no puedo ejecutar porque se pasa de 64 kb y salta el error "Error de compilación: Procedimiento demasiado largo". Es a partir del Select Case, pero es que necesito todos.
Lo que he hecho es partir todo ese código Select Case (6550 líneas) en procedimientos sub: Aux1, Aux2,... que es la otra hoja Word (la que no funciona) y no se cuelga pero...
aquí me viene el problema. No se como hacer para que el evento CommandButton1_Click (que es desde donde se ejecuta el procedimiento "Rellenar" marcadores, lea cada uno de estos subprocedimientos y luego se ejecute como el primer Word.
Que tengo que hacer, ¿declarar una variable para todos los Sub Aux y después recorrerlos con un For? Es que no se como se hace o hay otra forma sin modificar demasiado el codigo.
Noto que el problema lo tengo en Select Case sVia, pues queda dentro del procedimiento CommandButton
y en el que no funciona, tengo el Select Case dentro del procedimiento Aux1 y siguientes
Nota: el Word que SI funciona, desde la linea 160 en adelante, la he marcado como comentarios para que no os salga el error y podáis probar el formulario.
Gracias anticipadas.
Como no se ven bien las miniaturas, las subo aqui en el orden en que aparecen:
FORMULARIO
FRASE DONDE TRABAJA EL FORMULARIO
CODIGO DEL WORD QUE SI FUNCIONA
CODIGO QUE NO CONSIGO QUE FUNCIONE EN EL OTRO WORD
- VIAS.rar(366,9 KB)
Valora esta pregunta


0