Condividi:        

dov'e l'inghippo ?

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

dov'e l'inghippo ?

Postdi Gianca532011 » 12/01/17 12:13

Ho una macro che salva correttamente i file in .doc , però visto che le relative dimensioni sono maggiori rispetto ai file .docx sto tentando di salvare in docx ma la macro si inceppa con messaggio "di file incompatibili" e mi evidenzia in giallo la proceedura di salvataggio. Premesso che la macro attiva una procedura di stampa-unione con un file excel, ma non ho capito perchè si inchioda con la modifica fatta.


docName = "pagina" & .DataFields("pagina").Value & ".docx" '<<< qui ho modificato da .doc a docx

End With
.Execute Pause:=False

Application.ScreenUpdating = False

End With

[color=#000000] [color=#FFFF00]ActiveDocument.SaveAs FileName:=docName, FileFormat:=wdFormatDocument _
, LockComments:=False, Password:="", AddToRecentFiles:=True, _
WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False
[/color]
[/color]
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 326
Iscritto il: 27/05/11 10:18

Sponsor
 

Re: dov'e l'inghippo ?

Postdi patel » 12/01/17 13:03

prova wdFormatDocumentDefault invece di wdFormatDocument
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: dov'e l'inghippo ?

Postdi Gianca532011 » 12/01/17 13:16

Grazie Patel ma ho risolto aggiungendo " CompatibilityMode:=15"

Codice: Seleziona tutto
  ActiveDocument.SaveAs2 FileName:=docname, FileFormat:= _
        wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
        :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
        :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False, CompatibilityMode:=15



per la serie "meglio tardi che mai " :oops: mi sono ricordato che anche Word ha la funzione " Registra macro "
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 326
Iscritto il: 27/05/11 10:18

Re: dov'e l'inghippo ?

Postdi Gianca532011 » 12/01/17 13:46

Rettifica : il compatibility mode non funzia ( se si rimuove la macro fatta col registratore) mentre funziona perfettamente la correzione di Patel .Quindi Non tenete conto di quanto sopra ma :

Codice: Seleziona tutto
docName = "pagina" & .DataFields("pagina").Value & ".docx"
               
            End With
            .Execute Pause:=False
 
            Application.ScreenUpdating = False
 
        End With
    ActiveDocument.SaveAs FileName:=docName, FileFormat:=wdFormatDocumentDefault _
        , LockComments:=False, Password:="", AddToRecentFiles:=True, _
            WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
                SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
            False


scusate il pasticcio .
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 326
Iscritto il: 27/05/11 10:18

Re: dov'e l'inghippo ?

Postdi Gianca532011 » 12/01/17 13:51

Altra domanda : come fare per non stampare un pulsante macro ubicato su un foglio word ?
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 326
Iscritto il: 27/05/11 10:18

Re: dov'e l'inghippo ?

Postdi patel » 12/01/17 16:17

stampi tramite macro che
1) nasconde i pulsanti
2) stampa
3) rende visibili i pulsanti
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: dov'e l'inghippo ?

Postdi Gianca532011 » 12/01/17 16:55

Già provato con la tua logica, ovvero nella macro principale , prima di stampa ho inserito :

Codice: Seleziona tutto
 ActiveDocument.CommandButton1.Visible = False   '<<<<<<  questo dovrebbe rendere invisibile il bottone
   
 ActiveDocument.SaveAs FileName:=docName, FileFormat:=wdFormatDocumentDefault _
        , LockComments:=False, Password:="", AddToRecentFiles:=True, _
            WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
                SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
            False
       
 
        'ActiveDocument.ExportAsFixedFormat OutputFileName:=docName, _
            ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
            wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
            Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
            CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
            BitmapMissingFonts:=True, UseISO19005_1:=False <<<< questo blocco, tutto, è da rendere attivo se si vuole un salvataggio in pdf
            'disattivando il blocco immediatamente sopra oltre a sostituire .pdf alla istruzione docName .
       
        ActiveWindow.Close SaveChanges:=False
 
    Next i
 
    Application.ScreenUpdating = True
 Call StampaDocFolder
 'Call Verifica_Elimina_File  '<< questa istruzione e relativa macro è stata considerata troppo pericolosa ovvero cancella indiscriminatamente ' qualsiasi file , quindi la cancellazione è manuale .

ActiveDocument.CommandButton1.Visible = True  '<<  questo dovrebbe rendere visibile il bottone

End Sub


però mi dà questo errore : "proprietà e metodo non supportati dall'oggetto " evidenziando la prima riga <<<<< .
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 326
Iscritto il: 27/05/11 10:18

Re: dov'e l'inghippo ?

Postdi patel » 12/01/17 18:36

come hai fatto per inserire un pulsante nella pagina ?
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: dov'e l'inghippo ?

Postdi Gianca532011 » 12/01/17 19:11

Sviluppo , cartella nera di fianco a modalità progettazione (controlli active X), click pulsante di controllo active X (è il riquadro vuoto) viene creato il pulsante

Tasto dx su pulsante – visualizza codice - “In this document” compare la sub :

Private Sub CommandButton1_Click()
‘ Qui ho inserito la call che rimanda alla mia macro principale .
End Sub

Tutto funziona bene , con il difetto che mi stampa anche il pulsante visto che l'ho messo direttamente sul foglio word, cosa questa che è da evitare assolutamente.

L'alternativa, ovvero senza questo pulsante di stampa, è di attivare direttamente la macro principale, ma dato che questo file verrà utilizzato da chi ha poca dimestichezza con le macro preferirei evitare .
si accettano alternative esterne al foglio word in questione , ma quali ? possibilmente da non complicare la vita . :)
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 326
Iscritto il: 27/05/11 10:18

Re: dov'e l'inghippo ?

Postdi patel » 12/01/17 19:24

Se guardi le proprietà manca Visibile, quindi non si può nascondere un pulsante, ti conviene creare un pulsante nella barra di accesso rapido che quindi non ha bisogno di essere nascosto.
Pensavo che su word i pulsanti fossero simili a quelli di Excel.
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: dov'e l'inghippo ?

Postdi Gianca532011 » 13/01/17 14:21

Ancora io per altro aiuto : sono riuscito a costruire un pulsante in forma di testo, fa quello che deve fare e riesco a farlo apparire/sparire cliccando il simbolo mostra tutto (è quella specie di pigreco). Ora vorrei che all'apertura del file quesdto tasto si attivasse, nel senso di mostrare tutto ciò che è nascosto, poi prima di stampare dovrei escluderlo.
Il codice che lo attiva/disattiva è sempre questo :
Codice: Seleziona tutto
 ActiveWindow.ActivePane.View.ShowAll = Not ActiveWindow.ActivePane.View. _
        ShowAll


ma, inserito in una macro "automatica" non funzia :
Codice: Seleziona tutto
Private Sub appWord_DocumentOpen(ByVal Doc As Document)
 ActiveWindow.ActivePane.View.ShowAll = Not ActiveWindow.ActivePane.View. _
        ShowAll
        End Sub


però non sono sicuro che sia la macro giusta .
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 326
Iscritto il: 27/05/11 10:18

Re: dov'e l'inghippo ?

Postdi patel » 13/01/17 15:51

allega il file, non ho capito come hai fatto
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: dov'e l'inghippo ?

Postdi Anthony47 » 13/01/17 16:01

Il mio suggerimento e' di mettere il comando in una macro di Document_Open, nel modulo vba "ThisDocument":
Codice: Seleziona tutto
Private Sub Document_Open()
ActiveWindow.ActivePane.View.ShowAll = True
End Sub


Userai "False" quando vuoi disabilitare il comando

Se cosi' non risolvi allora allega un file di esempio, come chiesto da patel.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: dov'e l'inghippo ?

Postdi Gianca532011 » 13/01/17 16:33

Grazie Anthony e Patel, alla fine ci sono riuscito in questo modo :

1) ho creato nel foglio word una macro testo (vedi) : " MacroButton_Miamacro_Stampa" di cui resterà la sola scritta "stampa",
2) su quest'ultima selezione, tasto dz, carattere flag su nascondi .Miamacro è la macro associata a macrobutton.
3) scheda Sviluppo : questo documento ho inserito la macro innanzi scritta da Anthony e prima della procedura di "salvataggio /stampa" la riga di annullamento .
4) per lanciare la macro selezionare "Stampa" e doppio click

Tutto questo amabaradan è inserito in foglio word con stampa-unione con un file excel , in pratica mi salva circa 100 file .docx , tutti con numerazione diversa, e quindi va in stampa.

Qui le modalità di inserimento macro -testo.

Assigning a Macro to a Button in Your Text
You may already know that you can only assign a macro to a button (a tool) on the Quick Access Toolbar. Word also allows you to add buttons within the text of you document. These buttons have a macro or a Word command assigned to them, and you can control what happens when the button is selected in text. This is all instituted through the use of a field code.
It may be a bit of a misnomer to refer to the result of this field code as a "button," because no graphics are involved whatsoever, although you can create your own graphic and embed it into the field. The syntax for the field code is:
MacroButton MacroName Display
MacroName is the name of the macro or command you want to run, and Display is the text you want displayed by the field code. If you use a graphic instead of text, then the graphic is displayed. When a user double-clicks on the displayed text or graphic, then the macro or command defined by MacroName is executed.
To assign a command or macro to a button, and insert that button in your text, follow these steps:
1. Position the insertion point where you want the button to appear.
2. Press Ctrl+F9 to insert a field.
3. Between the field brackets, type the fieldname MacroButton and a space.
4. Type the name of the command or macro you want the button to execute. To find the correct macro or command names you can right click on a blank area of the ribbon then click on Customize (Word 2007) or Customize Quick Access Toolbar (Word 2010). You can find the names in the dialog box.
5. Type the button name text you want displayed, or insert a graphic to be used as a button.
6. Press F9 to update the field display.

Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 326
Iscritto il: 27/05/11 10:18

Re: dov'e l'inghippo ?

Postdi patel » 13/01/17 18:37

Io ho fatto il possibile per darti una mano, ora che ti chiedo di allegare un file di esempio per capire cosa hai fatto tu mi ignori, ti sembra un bel segno di gratitudine ?
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: dov'e l'inghippo ?

Postdi Gianca532011 » 13/01/17 19:11

Patel,
non è stata cattiva volontà, ora che funziona lo allego volentieri, prima dell'intervento di Anthony ero bloccato a metà lavoro. ciao.


http://www.filedropper.com/ods2017logo82mxx
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 326
Iscritto il: 27/05/11 10:18

Re: dov'e l'inghippo ?

Postdi patel » 13/01/17 19:49

Ok, grazie, non è una soluzione elegante, ma non ne vedo altre che non vadano a impattare sulle barre strumenti, hai fatto un ottimo lavoro
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: dov'e l'inghippo ?

Postdi Gianca532011 » 13/01/17 20:00

Giusto per avere tutti gli elementi, allego anche file sorgente.
http://www.filedropper.com/numera
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 326
Iscritto il: 27/05/11 10:18

Re: dov'e l'inghippo ?

Postdi patel » 13/01/17 20:38

ho provato la tua macro, salva 5 file con nomi numerati, ma tu avevi parlato di stampa unione, vale la pena utilizzare un file excel con i numeri per numerare soltanto i nomi dei file ?
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: dov'e l'inghippo ?

Postdi Gianca532011 » 13/01/17 20:59

Patel, 5 era l'esempio, ma io di solito stampo 100 fogli numerati per volta, ci stai tu a numerarli tutti uno per uno ? io no.
Magari c'è sicuramente un altro modo più sobrio ed elegante, ma dato che io non mi chiamo Anthony :) cosi l'ho vista e cosi ho fatto.
Giancarlo
win 10 - Office 2016 Ita
Gianca532011
Utente Senior
 
Post: 326
Iscritto il: 27/05/11 10:18

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "dov'e l'inghippo ?":


Chi c’è in linea

Visitano il forum: Nessuno e 80 ospiti