Hej! Hej Hej Hej! Hej Hej Hejsan!If else sats i VB? [LÖST]
Jag vill att koden nedan ska göras om till en If else sats. Hur gör jag detta?
'subrutin för uppdatering av profil
Private Sub uppdatera_Click()
'deklaration av Word
Dim wd As Word.Application
'deklaration av dokument i Word
Dim doc As Word.Document
On Error Resume Next
Set wd = GetObject(, "Word.Application")
If wd Is Nothing Then
Set wd = CreateObject("Word.Application")
If wd Is Nothing Then
MsgBox ("MS Word is not installed")
End If
End If
On Error GoTo 0
'vägen till katalogen där grundprofil- samt fördagenprofilen finns tillgängliga
Set doc = Documents.Add("\\datornamn\katalog\filnamn")
Set doc = Documents.Add("\\datornamn\katalog\filnamn")
'deklaration av fältet i Word där texten kommer synas
Dim ran As Range
'deklaration av bokmärke i Word där den specifika texten ska stå
Dim book As Bookmark
'uppdaterad anropas och skrivs in
Set book = doc.Bookmarks.Item("uppdaterad")
Set ran = book.Range
ran.Text = uppdaterad.Text
uppdatera.Caption = uppdaterad.Text
'namnet anropas och skrivs in
Set book = doc.Bookmarks.Item("namn")
Set ran = book.Range
ran.Text = namn.Text
uppdatera.Caption = namn.Text
'åldern anropas och skrivs in
Set book = doc.Bookmarks.Item("alder")
Set ran = book.Range
ran.Text = alder.Text
uppdatera.Caption = alder.Text
'telefon anropas och skrivs in
Set book = doc.Bookmarks.Item("telefon")
Set ran = book.Range
ran.Text = telefon.Text
uppdatera.Caption = telefon.Text
'mail anropas och skrivs in
Set book = doc.Bookmarks.Item("mail")
Set ran = book.Range
ran.Text = mail.Text
wd.Visible = True
doc.Saved = True
End Sub
Jag vill med denna kod ordna så att vissa bookmarks ska kunna skrivas in till rätt .dot mall och att det därmed inte ska komma några error meddelanden. Den ena mallen innehåller all fakta, men den andra ska endast viss fakta bli synliga.
Jag har programmerat i C och tänkt mig liknande:
If doc = ForDagen.dot
printf(x && x && x)
else (doc = Grund.dot)
printf(allt)
Hoppas någon förstår vad jag menar.
Tack på förhand!
//Johanna PihlströmSv: If else sats i VB?
Efter snabbt påseende utan att ha kollat detaljer
Är det inte bättre med Select Case ?
undrar
SvenSv: If else sats i VB?
Har kollat lite till,det är förmodligen detta du vill vilkora ?
'vägen till katalogen där grundprofil- samt fördagenprofilen finns tillgängliga
Set doc = Documents.Add("\\datornamn\katalog\filnamn")
Set doc = Documents.Add("\\datornamn\katalog\filnamn")
Då är frågan ,vad är det som styr vilken .dot du skall använda
som det är nu blir det alltid ForDagen.dot
Och min komplimang,du skriver snygg lätläst kod.
DSSv: If else sats i VB?
Tack för komplimang!
Vad jag vill göra är att då jag trycker på en knapp 'FörDagenProfil' ska det ena .dot dokumentet väljas och då ska jag kunna skriva in några fakta. Om jag istället väljer 'GrundProfil' ska det andra .dot dokumentet fås fram och där ska jag kunna skriva in mer fakta.
Hur gör jag för att VB ska förstå att när jag trycker på den ena knappen ska det vara kopplat till detta specifika dokument?
Just nu fungerar inget! Jag får inte upp något av dokumenten. I VB fönstret skriver jag all kod i (General) + (Profil). Måste jag skriva två olika koder, en för FörDagenProfilen och en för GrundProfilen och att dess koder ska skrivas in för var 'knapp'. Jag använder mig nu utav OnClick händelse.
//Johanna PihlströmSv: If else sats i VB?
Mitt förslag till hur du skall komma igång med grundupplägget
Två olika knappar som har Caption Grund.dot och ForDagen.dot
Option Explicit
Private Sub Command1_Click()
Call Uppdatera(1) 'Grund.dot
End Sub
Private Sub Command2_Click()
Call Uppdatera(2) 'ForDagen.dot
End Sub
'subrutin för uppdatering av profil
Private Sub Uppdatera(ByVal dotVal As Long)
'deklaration av Word
Dim wd As Word.Application
'deklaration av dokument i Word
Dim doc As Word.Document
'deklaration av fältet i Word där texten kommer synas
Dim ran As Range
'deklaration av bokmärke i Word där den specifika texten ska stå
Dim book As Bookmark
On Error Resume Next
Set wd = GetObject(, "Word.Application")
If wd Is Nothing Then
Set wd = CreateObject("Word.Application")
If wd Is Nothing Then
MsgBox ("MS Word is not installed")
End If
End If
On Error GoTo 0
Select Case dotVal
Case Is = 1
'vägen till katalogen där grundprofil- samt fördagenprofilen finns tillgängliga
Set doc = Documents.Add("\\datornamn\katalog\filnamn")
'Här klistrar du in alla som skall vara med i denna profil
Case Is = 2
Set doc = Documents.Add("\\datornamn\katalog\filnamn")
'Här klistrar du in alla som skall vara med i denna profil
End Select
'Några skall förmodligen vara med i båda profilerna
SvenSv: If else sats i VB?
Fick ditt mail men kan inte svara .Sidan har fel på rad 40 får jag
som svar. Så här skrev jag.
"Hej skall kolla lite
Nu får Vi ta ett steg itaget. Börja med att lägga in en(1)
Set book = sats i respektive Case och se vad som händer.
Inbillar mig att Vi måste få till ett stop så att Vi stegar
genom alla och fyller i efter behov.
Du får gärna skriva , det är kul att få brev."
SvenSv: If else sats i VB?
Nu fungerar det!!!
Jag vet inte vad som var fel, men jag kopierade raderna som fungerade och lade över dem på de som inte fungerade och ändrade lite på namnen så nu fungerar det - jippi!
Tyvärr vet jag ju inte vad som var fel, men jag antar att det kan ha varit något litet ' eller . fel någonstans.
Ytterligare ett enormt tack för dina arbets- och hjälp insatser!
Med Vänliga Hälsningar
Johanna Pihlström