2009-09-28 7 views
0

Je voudrais écrire un fichier séquentiel qui ouvrirait un document Excel statique et le formaterait (de disons 10 pages à 2 pages, en retirant les colonnes vides) afin qu'il soit prêt pour l'impression. des idées sur la façon de formater le document Excel en utilisant mon fichier batch? Ça pourrait aussi être un fichier .VBS.comment écrire un fichier batch pour formater Excel?

+0

Est-ce que ce doit être un fichier batch? Pourrait-il s'agir d'un complément Excel lancé depuis Excel? – dendarii

Répondre

1

Il pourrait être un .vbs et je suppose .

Essayez ceci:

'takes out (hides) empty columns in 1st worksheet 
'drag and drop excel file into this .vbs 

set xl = createobject("excel.application") 
set wb = xl.workbooks.open(wscript.arguments(0)) 
set ws = wb.worksheets(1) 
xl.visible = true 

numCols = ws.usedrange.columns.count 

for col = numCols to 1 step -1 
    set r = ws.columns(col) 

    if xl.worksheetfunction.counta(r) = 0 then 
    'column has no values, so hide it 
    r.columnwidth = 0 

    'if you want to delete the column 
    'r.delete 
    end if 
next 
0

-t-il besoin d'être un outil « externe » ... Et si vous définissez les fonctions de traitement dans le droit fichier en tant que script VBA?

Une fois fait, si vous enregistrez le fichier contenant ces macros comme XLT (modèle), toutes les autres copies créées avec ce modèle contiendra les macros.

Il y a un gestionnaire d'événements appelé Workbook_Open qui est étét exécutée lorsque le classeur a été ouvert.

Si vous avez besoin d'aide supplémentaire, faites le moi savoir. salut

Questions connexes