Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 7. 11. 2008 12:43:02

Prefin
Člen
Registrace: 23. 9. 2007
Příspěvků: 7

Chyba v Makru u příkazu "Prompt"

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.

Offline

Zápatí