marcel31281
Gebruiker
- Lid geworden
- 30 okt 2015
- Berichten
- 391
Bedankt, maar hier kom ik nog niet verder mee. dze code vraagt om een complete map op te slaan en niet alleen het rapport in PDF formaat.
Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
Set fs = CreateObject("Scripting.FileSystemObject")
If Not fs.FileExists(ThisWorkbook.Path & "" & TextBox13.Value & "---" & TextBox25.Value & "" & TextBox1.Value & "---" & TextBox2.Value & ".pdf") Then 'controle of bestand al bestaat
Sheets("MULTICARE | ELEGANZA 5").Range("A1:K61").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ThisWorkbook.Path & "" & TextBox13.Value & "---" & TextBox25.Value & "" & TextBox1.Value & "---" & TextBox2.Value & ".pdf", _
OpenAfterPublish:=False 'True
Else
'msgbox rapport bestaat al in deze map
Dim RapportOpslaan As Integer
RapportOpslaan = MsgBox("Dit rapport is al opgeslagen, wil je het overschrijven." & vbCrLf & vbCrLf & _
"Klick op JA om te overschrijven." & vbCrLf & vbCrLf & _
"KLick op NEE om het rappport ergens anders op te slaan." & vbCrLf & vbCrLf & _
"Klick op ANNULEREN om af te sluiten." _
, vbYesNoCancel + vbQuestion, "RAPPORT BESTAAT AL!")
If RapportOpslaan = vbYes Then
Sheets("MULTICARE | ELEGANZA 5").Range("A1:K61").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ThisWorkbook.Path & "" & TextBox13.Value & "---" & TextBox25.Value & "" & TextBox1.Value & "---" & TextBox2.Value & ".pdf", _
OpenAfterPublish:=False 'True
End If
If RapportOpslaan = vbNo Then
'rapport wordt niet opgeslagen/overschreven maar de keuze geven aan monteur
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "c:\users" & Environ("username") & "\Desktop" 'Desktop eventueel wijzigen
If .Show Then Sheets("MULTICARE | ELEGANZA 5").ExportAsFixedFormat 0, .SelectedItems(1) & "" & TextBox1.Value & "---" & TextBox2.Value & ".pdf"
End With
Else
'knop annuleren
'userform bijwerken en sluiten
End If
End If
Private Sub CMB_01_Click()
'CONTROLE OF ALLES IS INGEVULD
If TextBox7 <> "" And TextBox8 <> "" And TextBox9 <> "" And TextBox10 <> "" And TextBox11 <> "" And TextBox12 <> "" _
And TextBox25 <> "" And ComboBox1 <> "" And ComboBox2 <> "" Then
With Sheets("MULTICARE | ELEGANZA 5")
Application.ScreenUpdating = False
.[F7] = TextBox1
.[F8] = TextBox2
.[F9] = TextBox3
.[I7] = TextBox4
.[I8] = TextBox5
.[I9] = TextBox6
.[E44] = TextBox7
.[E45] = TextBox8
.[E46] = TextBox9
.[E47] = TextBox10
.[G51] = TextBox11
.[G52] = TextBox12
.[C4] = TextBox13
.[E59] = ComboBox2
.[C55] = TextBox19
.[C58] = ComboBox1 'toegevoegd
.[C5] = TextBox25
.[C7] = TextBox21
.[C8] = TextBox22
.[C9] = TextBox23
.[C10] = TextBox24
If .[C58].Value = "AFGEKEURD: bed wacht op reparatie/onderdelen" Then
.[C58].Font.Color = vbRed
Else
.[C58].Font.Color = RGB(30, 200, 46)
End If
End With
'****************************************************************************************************************
'*********MAP VAN DE DAG AANMAKEN bestaande uit datum en SO nr. van vandaag (textbox13 en textbox24)*************
If TextBox13 <> "" And TextBox25 <> "" Then
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject")
If Not fs.FolderExists(ThisWorkbook.Path & "\" & TextBox13.Value & "---" & TextBox25.Value & "") Then
MsgBox "Goedendag" & " " & ComboBox2.Value & "," & vbCrLf & vbCrLf & _
"Er wordt nu een map aangemaakt met de datum en So-nummer van vandaag." & vbCrLf & vbCrLf & _
"Alle rapporten van vandaag worden hierin opgeslagen." & vbCrLf & vbCrLf & _
"Ik wens je een productieve dag en hoop dat de map goed vol raakt." & vbCrLf & vbCrLf & _
"Groet," & vbCrLf & vbCrLf & _
"Marcel"
MkDir ThisWorkbook.Path & "\" & TextBox13.Value & "---" & TextBox25.Value & ""
End If
Else
MsgBox "er is geen datum of SO nr. ingevuld"
Exit Sub
End If
'***********EINDE CODE MAP AANMAKEN******************************************************************************
'****************************************************************************************************************
'****************************************************************************************************************
'**********BESTAND OPSLAAN IN DE VANDAAG AANGEMAAKTE MAP*********************************************************
Set fs = CreateObject("Scripting.FileSystemObject")
If Not fs.FileExists(ThisWorkbook.Path & "\" & TextBox13.Value & "---" & TextBox25.Value & "\" & TextBox1.Value & "---" & TextBox2.Value & ".pdf") Then 'controle of bestand al bestaat
Sheets("MULTICARE | ELEGANZA 5").Range("A1:K61").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ThisWorkbook.Path & "\" & TextBox13.Value & "---" & TextBox25.Value & "\" & TextBox1.Value & "---" & TextBox2.Value & ".pdf", _
OpenAfterPublish:=False 'True
Else
'msgbox rapport bestaat al in deze map
Dim RapportOpslaan As Integer
RapportOpslaan = MsgBox("Dit rapport is al opgeslagen, wil je het overschrijven." & vbCrLf & vbCrLf & _
"Klick op JA om te overschrijven." & vbCrLf & vbCrLf & _
"KLick op NEE om het rappport ergens anders op te slaan." & vbCrLf & vbCrLf & _
"Klick op ANNULEREN om af te sluiten." _
, vbYesNoCancel + vbQuestion, "RAPPORT BESTAAT AL!")
If RapportOpslaan = vbYes Then
Sheets("MULTICARE | ELEGANZA 5").Range("A1:K61").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ThisWorkbook.Path & "\" & TextBox13.Value & "---" & TextBox25.Value & "\" & TextBox1.Value & "---" & TextBox2.Value & ".pdf", _
OpenAfterPublish:=False 'True
End If
If RapportOpslaan = vbNo Then
'rapport wordt niet opgeslagen/overschreven maar de keuze geven aan monteur
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "c:\users\" & Environ("username") & "\Desktop\" 'Desktop eventueel wijzigen
If .Show Then Sheets("MULTICARE | ELEGANZA 5").ExportAsFixedFormat 0, .SelectedItems(1) & "\" & TextBox1.Value & "---" & TextBox2.Value & ".pdf"
End With
Else
'knop annuleren
'userform bijwerken en sluiten
End If
End If
'**********EINDE CODE BESTAND OPSLAAN IN DE VANDAAG AANGEMAAKTE MAP*********************************************************
'***************************************************************************************************************************
'*******ALLES TERUG ZETTEN, checkboxen op True en optionbuttons Nee op true/groen***********************
For Each ctrl In Frm_Multicare.Controls
If TypeName(ctrl) = "CheckBox" Then
ctrl.Value = True
End If
Next ctrl
Dim i As Integer
For i = 2 To 52 Step 2
Me("OptionButton" & i).Value = True
If Me("OptionButton" & i).Value = True Then
Me("OptionButton" & i).BackColor = vbGreen
End If
Next i
'***********************************************************************************************************
'vastzetten naam en SO nummer voor vandaag( als het bestand volledig wordt afgesloten wordt naam en so nummer verwijderd)
With Sheets("-OVERZICHT-")
.Unprotect "AFTERSALES"
.Range("S5").Value = ComboBox2.Value
.Range("S6").Value = TextBox25.Value
.Protect "AFTERSALES"
End With
Unload Me
Else 'else van de 1e IF controle of alles is ingevuld
MsgBox "Je hebt niet alles ingevuld, controleer de invulvelden" & vbCrLf & vbCrLf & _
"ELECTRISCHE VEILIGHEIDSTEST" & vbCrLf & _
"WEEGUNIT CONTROLE" & vbCrLf & _
"NAAM" & vbCrLf & _
"RESULTAAT"
End If
End Sub
MsgBox "Je hebt niet alles ingevuld, controleer de invulvelden" & vbCrLf & vbCrLf & _
"ELECTRISCHE VEILIGHEIDSTEST" & vbCrLf & _
"WEEGUNIT CONTROLE" & vbCrLf & _
"NAAM" & vbCrLf & _
"RESULTAAT", _
vbOKOnly + vbCritical, "NIET ALLE VELDEN ZIJN INGEVULD"
moet nog heel veel leren,ik probeer nu de codes in Klassemodules te zetten.je kennis met vba.
Zal er eens naar kijken, maar eigenlijk zou je dat ook zelf moeten kunnen oplossen.Als laatste wil ik vragen of je nog eens wil kijken dat als de checkboxes beide uitstaan, het groene bolletje ook automatisch verdwijnt.
Private Sub CheckBox1_Click()
With Sheets("MULTICARE | ELEGANZA 5")
If CheckBox1 = False Then
.Range("F14") = "N/A"
.Range("F14").Font.Name = "Arial"
.Range("F14").Font.Size = 10
[COLOR="#FF0000"]If CheckBox2 = False Then .Range("I14") = ""[/COLOR]
Else
.Range("F14") = "ü"
.Range("F14").Font.Name = "Wingdings"
.Range("F14").Font.Size = 18
End If
End With
End Sub
Private Sub CheckBox2_Click()
With Sheets("MULTICARE | ELEGANZA 5")
If CheckBox2 = False Then
.Range("G14") = "N/A"
.Range("G14").Font.Name = "Arial"
.Range("G14").Font.Size = 10
[COLOR="#FF0000"]If CheckBox1 = False Then .Range("I14") = ""[/COLOR]
Else
.Range("G14") = "ü"
.Range("G14").Font.Name = "Wingdings"
.Range("G14").Font.Size = 18
End If
End With
End Sub
[COLOR="#008000"]'*******ALLES TERUG ZETTEN, checkboxen op True en optionbuttons Nee op true/groen***********************[/COLOR]
For Each ctrl In Frm_Multicare.Controls
If TypeName(ctrl) = "CheckBox" Then
ctrl.Value = True
End If
Next ctrl
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.