Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: pikku juttuja VB:hen

Arto [08.03.2011 07:10:13]

#

Huomenta kaikille!!
ois pari pikku juttua joihin joillakin on varmaan antaa vinkkejä.

1. kuinka saan office 2010 VB.in ajastimen tehtyä?? siinä ei näy työkaluissa sitä "timer" kuvaketta. tai joku muu kikka millä sais sillon tällön ohjelman tarkistamaan tiettyjä asioita, kerran, ehkä kaks kertaa min.

2. toinen sitten kun täytän ohjelmalla erään kaavakkeen, ohjelmassa on monta comboboxia joista valitaan kaavakkeeseen tulostettavaa tietoa. kuinka saan helpoiten liikuttua boxista toiseen. eli haluaisin sen niin että kun boxiin on tietovalittu tai kirjoitettu niin se "hyppäisi" itsestään seuraavaan boxiin ja avaisi sen valikon. ja sitten vielä se että kun alan kirjoittamaan comboboxiin niin se valikko muuttuisi sitä mukaan kun olen kirjoittanut, eli kaikki ei käypäset vaihtoehdot putoaisi pois.

3.tämä on sitten jä vähän haastavampi juttu.
kuinka saan ohjelmaani reaaliaikaisen paikka tiedon, kadun nimen ja talonumeron.
tompeli tompeli löytyy mutta siihen eikai ihan vähällä saa semmoista. 1 nokian GPS palikkä löytyy, että jos sen laittas kertomaan läppärille koordinaatteja, ja jollakin kartta ohjelmalla varmaan se vois onnistua.

Arto [10.03.2011 08:25:44]

#

ääh. eiks kellään oo antaa vinkkiä tähän ajastin juttuun??

Grez [10.03.2011 09:24:51]

#

1) "There's no timer in Excel" sanoo Google
2) Mistä se tietäisi että olet saanut kirjoituksen valmiiksi, että se voisi "itsestään hypätä" seuraavaan boksiin?
3) Paikkatieto on helppo saada GPS-vastaanottimesta. Kadun ja katunumeron hankkiminen onkin sitten haastavampaa. Tarvitset periaatteessa tietokannan kaduista tai sitten käytät jotain valmista työkalua. Esim. Googlella on rajapinta, mutta se ei muistaakseni ole halpaa lystiä. Joitakin hakuja saa kai yksityiskäyttöön tehdä maksutta.

neau33 [10.03.2011 14:20:15]

#

Moikka Arto!

tässä Excel-VBA timerviritelmä

'ThisWorkbook
Private Sub Workbook_Open()
   StartTimer
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   StopTimer
End Sub
'Module1
Option Explicit

Public RunWhen As Double
Public Const cRunIntervalSeconds = 120 '(2 minuuttia)
Public Const cRunWhat = "RunAtInterval"

Public Sub StartTimer()
   RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
   Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, _
      Schedule:=True
End Sub

Sub RunAtInterval()
   'tähän aliohjelmakutsu tai koodi joka halutaan suorittaa...
   StartTimer
End Sub

Sub StopTimer()
   On Error Resume Next
   Application.OnTime RunWhen, "RunAtInterval", Schedule:=False
End Sub

-Nea-

Arto [10.03.2011 16:30:02]

#

kiitos!!!!!
=)

neau33 [14.03.2011 13:20:18]

#

Moikka taas Arto!

tässä vielä kaipaamaasi ComboBox-kikkailua...

'Module1
Global cbolist1(0 To 10) As String
Global cbolist2(0 To 10) As String
Global cbolist3(0 To 10) As String

Sub auto_open()
   fill_lists
End Sub

Sub fill_lists()

    For i = 0 To 10
        If i = 0 Then
            cbolist1(i) = ""
            cbolist2(i) = ""
            cbolist3(i) = ""
        Else
            cbolist1(i) = "Valinta " & CStr(i)
            cbolist2(i) = "Valinta " & CStr(i)
            cbolist3(i) = "Valinta " & CStr(i)
        End If
    Next

End Sub
'UserForm1
Private Sub UserForm_Activate()

   If cbolist1(1) = "" Then
      fill_lists
   End If

   If ComboBox1.ListCount = 0 _
   Or ComboBox2.ListCount = 0 _
   Or ComboBox3.ListCount = 0 Then
      ComboBox1.Style = fmStyleDropDownList
      ComboBox1.List = cbolist1
      ComboBox1.ListIndex = 0
      ComboBox2.Style = fmStyleDropDownList
      ComboBox2.List = cbolist2
      ComboBox2.ListIndex = 0
      ComboBox3.Style = fmStyleDropDownList
      ComboBox3.List = cbolist3
      ComboBox3.ListIndex = 0
   End If

   ComboBox1.SetFocus

End Sub

Private Sub ComboBox1_Change()
   If ComboBox1.ListIndex > 0 Then
      ComboBox2.SetFocus
   End If
End Sub

Private Sub ComboBox2_Change()
   If ComboBox2.ListIndex > 0 Then
      ComboBox3.SetFocus
   End If
End Sub

Private Sub ComboBox3_Change()
   If ComboBox3.ListIndex > 0 Then
      CommandButton1.SetFocus
   End If
End Sub

Private Sub ComboBox1_Enter()
   SendKeys "{F4}"
End Sub

Private Sub ComboBox2_Enter()
   SendKeys "{F4}"
End Sub

Private Sub ComboBox3_Enter()
   SendKeys "{F4}"
End Sub

-Nea-

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta