Newsgroup: it.comp.lang.visual-basic
Titolo: Macro excel codice sbagliato

Ciao, vorrei utilizzare il codice riportato per generare attraverso una
macro excel un output XML. La funzione č davvero molto interessante, ma
purtroppo il cod. cosě com' č non funziona.
Ringrazio chiunque in anticipo per l' aiuto!
Lollo.
ecco il codice :
Option Explicit
Public dimensione As Integer
Public carattere As String
Public colore As String
Public grassetto As Boolean
Sub XML()
'******************************
'* Macro XML Builder *
'******************************
'Minervini Corrado Danilo 12/5/2001
'Crea un file XML (senza attributi) da una tabella Excel
'Permette anche la formattazione tramite CSS
Dim nomeelemento As String, nomefoglio As String
Dim pagina As String
Dim contatore As Integer
Dim cella As String, nomecampo As String
Dim indice As Integer, nomefile As String
Dim check As Boolean, controllo As Boolean
Dim paginacss As String
On Error GoTo GestioneErrore
If (MsgBox("Utilizzare un foglio di stile?", vbInformation + _
vbYesNo, "XML Builder") = vbYes) Then
controllo = True
Else
controllo = False
End If
nomefile = InputBox("Inserire il percorso e il nome" & _
vbNewLine & "del file XML" & vbNewLine & _
"senza estensione", "XML Builder")
nomeelemento = InputBox("Inserire il nome dell'elemento principale", _
"XML Builder")
pagina = "<?xml version = " & Chr(34) & "1.0" & Chr(34) & _
" standalone=" & Chr(34) & "yes" & Chr(34) & "?>" & vbNewLine
If controllo = True Then
pagina = pagina & "<?xml-stylesheet href=" & Chr(34) & nomefile & _
".css" & Chr(34) & _
" type=" & Chr(34) & "text/css" & Chr(34) & "?>" & vbNewLine
End If
'header XML
nomefoglio = ActiveSheet.Name 'Radice dell'albero XML
contatore = 1
cella = "a1"
pagina = pagina & "<" & ActiveSheet.Name & ">" & vbNewLine
While Not Range(cella).Value = ""
pagina = pagina & "<" & nomeelemento & ">" & vbNewLine
indice = 64
nomecampo = Range("a1").Value
contatore = contatore + 1
While Not nomecampo = ""
'foglio di stile
If controllo = True Then
If check = False Then
frmformattazione.Label5.Caption = nomecampo
frmformattazione.Show
paginacss = paginacss & nomecampo & "{display: block;" & _
" font-size: " & dimensione & "; "
If grassetto = True Then paginacss = paginacss & _
" font-weight:bold; "
paginacss = paginacss & "font-family: " & carattere & _
"; color: " & colore & ";}" & vbNewLine
End If
End If
'fine foglio di stile
pagina = pagina & vbTab & "<" & nomecampo & ">"
pagina = pagina & Range(Chr(indice + 1) & contatore).Value
pagina = pagina & "</" & nomecampo & ">" & vbNewLine
indice = indice + 1
nomecampo = Range(Chr(indice + 1) & "1").Value
Wend
check = True
pagina = pagina & "<" & nomeelemento & "/>" & vbNewLine
cella = Chr(65) & contatore + 1
Wend
pagina = pagina & "</" & ActiveSheet.Name & ">" & vbNewLine
MsgBox pagina
MsgBox paginacss
Open nomefile & ".xml" For Output As #1
Print #1, pagina
Close #1
If controllo = True Then
Open nomefile & ".css" For Output As #1
Print #1, paginacss
Close #1
End If
Exit Sub
GestioneErrore:
MsgBox "Attenzione Si sono verificati degli errore!" & vbNewLine & _
"Impossibile creare il file XML", vbCritical, "XML Builder"
Exit Sub
End Sub
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 purtroppo il cod. così com' è non funziona.
molto a "spannometro":
- c'è un riferimento a un "frmformattazione" che non c'è (o almeno non l'hai
riportato)
- non c'è un controllo sulla validità dei  nomi
- l'istruzione:
    pagina = pagina & "<" & nomeelemento & "/>" & vbNewLine
    dovrebbe essere:
    pagina = pagina & "</" & nomeelemento & "/>" & vbNewLine
può esserci altro, ma a vista mi sembrano i problemi maggiori.
ciao
ugo

 wrote in message
news:a4bdks$1e31ta$1...@ID-96367.news.dfncis.de...

