Problema al cargar formulario

Iniciado por mastercss, 16 Junio 2010, 14:58 PM

0 Miembros y 1 Visitante están viendo este tema.

mastercss

Resulta que estoy realizando un programa que haga macros web. NEcesito cargar distintos formularios que son activados por botones, pero mi problema es el siguiente:

Código (vb) [Seleccionar]
Private Sub Command1_click()
Load Form2
Form2.Show




No lo carga me tira este error:

Error 404 en tiempo de ejecucion se requiere un objeto.

HE buscado el error pero no tiene sentido, los form no hay que declararlos asi que estoy perdido. Muchas gracias de antemano.


Salu2

Maik33

Pero tu has agregado un nuevo formulario?
Menu proyecto>agregar formulario, y me comentas si t da error.

Psyke1

mmmm
quieres crear un form en tiempo de ejecucion o simplemente cargar un formulario que ya tienes en el proyecto??  :huh:
Si es lo segundo con esto bastaria:
Código (vb) [Seleccionar]

Form2.Show

Si no es eso revisa si el formulario que quieres mostrar tiene ese nombre... :P

Salu2!

mastercss

El formulario lo he hecho en el proyecto pero si pongo unicamente Form2.Show no lo carga.

La verdad me ha estrañado mucho el error.



Salu2

Maik33

Tienes el formulario y te sige dando error?

Pues eso, como dijo *PsYkE1* es porque le abras lamado a tu 2º form de diferente manera, sino no se me ocurre porque puede ser

mastercss

Haber, es un bot para xnova el clon de ogame. El formualrio principal tiene los botones conectar, hangar, edificios, investigaciones y defensa.

El code del form1 es:

Código (vb) [Seleccionar]

Dim doc As Object
Dim var_input As Object
Dim var_value As Object
Dim var_but As Object

Private Sub Command1_Click()
Set doc = WebBrowser1.Document
Set var_input = doc.getelementbyid("username")
var_input.Value = Text1.Text
Set var_input = doc.getelementbyid("password")
var_input.Value = Text2.Text
Set var_but = doc.getelementbyid("submit")
var_but.Click
End Sub

Private Sub Command2_Click()
Form2.Show
End Sub

Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
WebBrowser1.Navigate "http://uni3.zagamex.com.ar"
End Sub


Al clickar sobre hangar deberia de verse el formulario2 (Form2)
Codigo Form2:

Código (vb) [Seleccionar]
Dim hangar As Object
Dim var_input As Object
Dim var_value As Object
Dim var_click As Object
Dim bucle

Private Sub Command1_Click()
Dim html
If Option1.Enabled Then naves = "fmenge[202]"
If Option2.Enabled Then naves = "fmenge[203]"
If Option3.Enabled Then naves = "fmenge[204]"
If Option4.Enabled Then naves = "fmenge[205]"
If Option5.Enabled Then naves = "fmenge[206]"
If Option6.Enabled Then naves = "fmenge[207]"
If Option7.Enabled Then naves = "fmenge[208]"
If Option8.Enabled Then naves = "fmenge[209]"
If Option9.Enabled Then naves = "fmenge[210]"
If Option10.Enabled Then naves = "fmenge[211]"
If Option11.Enabled Then naves = "fmenge[212]"
If Option12.Enabled Then naves = "fmenge[213]"
If Option13.Enabled Then naves = "fmenge[214]"
If Option14.Enabled Then naves = "fmenge[215]"
If Option15.Enabled Then naves = "fmenge[216]"

For bucle = 1 To Val(Text1.Text)
Form1.WebBrowser1.Navigate "http://uni3.zagamex.com.ar/game.php?page=buildings&mode=fleet"
Set hangar = WebBrowser1.Document
Set var_input = hangar.getelementbyid("val(naves)")
Set var_input.Value = Text2.Text
For Each html In hangar.getelementbytagname("input")
If html.Value = "Construir" Then html.Click
Next
Next
End Sub

Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""

Dim naves As String
End Sub




mastercss

Despues de un dolor de cabeza probe añadiendo un formulario vacio y asociandolo a otro boton. El caso es que esta vez si funcionaba. Aunque parezca estraño decirlo creo que es un error de mi VBA ya que en otras ocasiones me han pasaod cosas similares.
Copie el código y los objetos del formulario y los pegue en otro nuevo y por arte de magia funciono.


Gracias y Salu2

Psyke1

me permites unos consejos?¿
Citar
Dim bucle
Porque no defines la variable bucle? (Pon As Integer), porque tal y como lo tienes estaria definido como As Variant, y ocupa mas espacio en la memoria...

Y esto otro:
Citar
If Option1.Enabled Then naves = "fmenge[202]"
If Option2.Enabled Then naves = "fmenge[203]"
If Option3.Enabled Then naves = "fmenge[204]"
If Option4.Enabled Then naves = "fmenge[205]"
If Option5.Enabled Then naves = "fmenge[206]"
If Option6.Enabled Then naves = "fmenge[207]"
If Option7.Enabled Then naves = "fmenge[208]"
If Option8.Enabled Then naves = "fmenge[209]"
If Option9.Enabled Then naves = "fmenge[210]"
If Option10.Enabled Then naves = "fmenge[211]"
If Option11.Enabled Then naves = "fmenge[212]"
If Option12.Enabled Then naves = "fmenge[213]"
If Option13.Enabled Then naves = "fmenge[214]"
If Option14.Enabled Then naves = "fmenge[215]"
If Option15.Enabled Then naves = "fmenge[216]"
Si haces una matriz de controles con las optiones ahorrarias codigo...

Salu2! :)

mastercss

Gracias por el consejo la verdad es que como ahora estoy aprendiendo no tengo muy en cuenta la memoria.

Salu2