Ahojky.
Z programování umím tak jen trochu php, nic jiného takže si s tím neporadím sám.
Mám trochu problém při práci s jedním dokumentem vytvořeným ve WIN Office (někým jiným).
Při pokusu o tisk z formuláře se mi objeví chybovka:
"BASIC - chyba v syntaxi. Neočekávaný symbol: Prompt.".
Po potvrzení se otevře editor makra s tímto kódem:
-------------------------------------------------------
Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1
Sub skryj_listy()
Application.ScreenUpdating = False
ActiveWorkbook.Unprotect Password:="dessert"
Select Case Worksheets("Žadatel FOO").Range("C14").Value
Case 1, 4
Worksheets("Spoluždatel FOO").Visible = False
Worksheets("Spolužadatel FOP nebo PO").Visible = False
Case 2
Worksheets("Spoluždatel FOO").Visible = True
Worksheets("Spolužadatel FOP nebo PO").Visible = False
Case 3
Worksheets("Spoluždatel FOO").Visible = False
Worksheets("Spolužadatel FOP nebo PO").Visible = True
End Select
Application.ScreenUpdating = True
ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:="dessert"
End Sub
Sub auto_open()
MsgBox _
Prompt:= _
"- Povinně vyplňovaná pole jsou podbarvena. Po jejich správném vyplnění podbarvení zmizí." + Chr(10) + Chr(10) + _
"- Chybně vyplněné pole se podbarví červeně se žlutým textem." + Chr(10) + Chr(10) + _
"- Správně vyplněný formulář má všechna pole bílá (bez podbarvení)." + Chr(10) + Chr(10) + Chr(10) + _
"TIP: Mezi jedntlivými poli se pohybujte klávesou Tab (směrem vpřed) nebo Shift+Tab (směrem vzad).", _
Title:="POKYNY PRO VYPLNĚNÍ FORMULÁŘE"
End Sub
Public Function kontrola(ByVal list As String) As Boolean
Dim prehled_chyby As String, prehled_povinne As String, i As Integer
kontrola = True
With Worksheets(list)
If .Range("Q175").Value = 0 Or .Range("T175").Value = "ano" Then Exit Function 'pokud nejsou žádné chyby, nebo jde o prázdný formulář, kontrola se neprovádí
If .Range("Q175").Value > 10 Then
MsgBox "Formulář '" + list + "' obsahuje více nevyplněných polí, jejichž vyplnění je povinné.", vbOKOnly, "AKCE PŘERUŠENA"
kontrola = False
Exit Function
End If
'kontrola nevyplněných povinných polí
For i = 1 To .Range("Y175").Value
If .Range("B174").Offset(i, 9).Value = 1 Then prehled_povinne = prehled_povinne + .Range("B174").Offset(i, 0) + Chr(10)
Next i
'kontrola chybně vyplněných polí
For i = 1 To .Range("Y175").Value
If .Range("B174").Offset(i, 12).Value = 1 Then prehled_chyby = prehled_chyby + .Range("B174").Offset(i, 0) + Chr(10)
Next i
MsgBox "Formulář '" + list + "' obsahuje nevyplněná nebo chybně vyplněná pole:" + Chr(10) + Chr(10) + "NEVYPLNĚNÁ POVINNÁ POLE: " + Chr(10) + prehled_povinne + Chr(10) + "CHYBNĚ VYPLNĚNÁ POLE: " + Chr(10) + prehled_chyby, vbOKOnly, "NALEZENY CHYBY - akce přerušena"
End With
kontrola = False
End Function
-------------------------------------------------------
Domnívám se, že příkaz Prompt není podporován.
Díky za radu či opravu kódu.
V.