Finestra di dialogo



  • Finestra di dialogo
    di trump61 (utente non iscritto) data: 15/01/2014 16:41:15

    Rieccomi, non ho mai usato quello che é chiamato Dialog1. Mi é venuto in mente di usarlo ma non sono riuscito a capire cosa fate per renderlo attivo all' apertura del file. Qualcuno può illuminarmi?
    Grazie



  • di patel data: 15/01/2014 16:46:36

    Forse intendi UserForm ? Finestra di Dialogo la chiama OpenOffice
    si attiva con questa macro da inerire nel module di Questa_Cartella_di_Lavoro

     
    Private Sub Workbook_Open()
    userform1.show
    End Sub






  • di trump61 (utente non iscritto) data: 20/01/2014 16:46:45

    Scusa sono stato fuori per un pò di giorni, no mi riferisco ad una finestra di dialogo, ho sempre usato userform e ho fatto come hai scritto tu potrei fare lo stesso in questo caso ma la curiosità comunque rimane. in pratica quando clicchi con i tasto dx sula linguetta di un foglio nella opzione inserisci puoi selezionare finestra di dialogo. poi dal menu sviluppo l puoi attivare vorrei poterlo fare automaticamente non ho trovato nessuna informazione di come farlo.
    Ciao e grazie per l tuo interessamento



  • di patel data: 20/01/2014 17:04:57

    Non ricordavo di questa possibilità, non l'ho mai usata, prova questa macro
     
    Sub SelectSheets()
        Dim PrintDlg As DialogSheet
        Dim cb As CheckBox, Wbname As String, DTAddress As String
        DTAddress = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator
        Set PrintDlg = ActiveWorkbook.DialogSheets.Add
        SheetCount = 0
    '   Add the checkboxes
        TopPos = 40
        For i = 1 To ActiveWorkbook.Worksheets.Count
            Set CurrentSheet = ActiveWorkbook.Worksheets(i)
    '       Skip empty sheets and hidden sheets
            If Application.CountA(CurrentSheet.Cells) <> 0 And _
                CurrentSheet.Visible Then
                SheetCount = SheetCount + 1
                PrintDlg.CheckBoxes.Add 78, TopPos, 150, 16.5
                    PrintDlg.CheckBoxes(SheetCount).Text = _
                        CurrentSheet.Name
                TopPos = TopPos + 13
            End If
        Next i
    '   Move the OK and Cancel buttons
        PrintDlg.Buttons.Left = 240
    '   Set dialog height, width, and caption
        With PrintDlg.DialogFrame
            .Height = Application.Max _
                (68, PrintDlg.DialogFrame.Top + TopPos - 34)
            .Width = 230
            .Caption = "Select sheets to print"
        End With
    '   Change tab order of OK and Cancel buttons
    '   so the 1st option button will have the focus
        PrintDlg.Buttons("Button 2").BringToFront
        PrintDlg.Buttons("Button 3").BringToFront
    '   Display the dialog box
        CurrentSheet.Activate
        Application.ScreenUpdating = True
        If SheetCount <> 0 Then
            If PrintDlg.Show Then
                For Each cb In PrintDlg.CheckBoxes
                    If cb.Value = xlOn Then
                       Sheets(cb.Caption).Select
                       pdfname = Sheets(cb.Caption).Name
                       ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                       DTAddress & pdfname & ".pdf", Quality:= _
                       xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                       OpenAfterPublish:=True
    '                  ActiveSheet.PrintPreview 'for debugging
                    End If
                Next cb
            End If
        Else
            MsgBox "All worksheets are empty."
        End If
    '   Delete temporary dialog sheet (without a warning)
    '    Application.DisplayAlerts = False
        PrintDlg.Delete
    End Sub
    






  • di trump61 (utente non iscritto) data: 20/01/2014 17:05:13

    Scusa sono stato fuori per un pò di giorni, no mi riferisco ad una finestra di dialogo, ho sempre usato userform e ho fatto come hai scritto tu potrei fare lo stesso in questo caso ma la curiosità comunque rimane. in pratica quando clicchi con i tasto dx sula linguetta di un foglio nella opzione inserisci puoi selezionare finestra di dialogo. poi dal menu sviluppo l puoi attivare vorrei poterlo fare automaticamente non ho trovato nessuna informazione di come farlo.
    Ciao e grazie per l tuo interessamento



  • di trump61 (utente non iscritto) data: 20/01/2014 17:06:10

    Ti ringrazio, ora la provo



  • di trump61 (utente non iscritto) data: 20/01/2014 17:16:51

    Grazie perchè mi hai anticipato su un altra parte dello sviluppo del mio file, con le eventuali modifiche per adattarla al mio caso funziona, ma credo che tornero' alle vecchie e care userform per la parte che sto creando(un parolone) adesso, mi sembrano più facimente usabili.
    Comunque il codice sotto l'ho usato per far aprire la finestra di dialogo all' apertura del file, solo che l'utilizzo di queste finestre è un po' non so come spiegarmi per me sono meglio le Userform

     
    Private Sub Workbook_Open()
    DialogSheets("Dialogo2").Show
    End Sub
    



  • di patel data: 20/01/2014 17:55:50

    Questo esempio l'ho trovato in rete per caso, l'ho archiviato e non l'ho mai utilizzato e non ricordavo neanche di averlo come hai potuto capire dalla prima risposta