www.mikrocontroller.net

Forum: PC-Programmierung VB Excel Macro Datei schreiben


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe mir eine Art Code Generator in Excel geschrieben: D.h ich kann 
in einem Excel-Shet verschiedene Felder ausfüllen und lasse mir über ein 
Macro automatisch ein *.c und ein *.h File erstellen. Das klappt auch 
alles soweit, bis auf...

In meinem Excel Sheet steht auch eine Initialisierung eines Arrays, 
alles fein säuberlich mit Komma getrennt:

unsigned char StateTable[NR_STATES][NR_EVENTS] =
{
  1,2,3,4,
  6,7,8,9,
  usw.
}

Mein Problem ist jetzt, wenn ich mir meine Datei erstellen lasse,
dann wird die Zeile in Anführungszeichen gesetzt. Ich erhalte:
unsigned char StateTable[NR_STATES][NR_EVENTS] =
{
"  1,2,3,4,"
"  6,7,8,9,"
  usw.
}

Dies geschieht aber nur, wenn in der Zeile Kommas auftreten. Ohne die 
Kommas ist es so, wie es sein soll. Warum? Was mache ich falsch?

Hier ist übrigens noch mein Codeabschnitt, mit dem ich mir meine Datei 
erzeuge:
'Write MSP430 State Machine.c
fname = ActiveWorkbook.Path + "\" + "MSP430 State Machine.c"
Sheets("Sheet2").Select
ActiveSheet.Range("B1:B" & Format$(InsertedRowsC)).Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, 
SkipBlanks _
    :=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:=fname, FileFormat:=xlText _
    , CreateBackup:=False
ActiveWindow.Close SaveChanges:=False

Vielleicht könnt ihr mir helfen?!

Vielen Dank schonmal
Michael

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine interessante Idee...

Allerdings habe ich als Excel-Gelegenheitsnutzer Schwierigkeiten, 
nachzuvollziehen, was da genau passiert.

Kannst du das Sheet mal posten?

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In Zeile Kommas???

2,34 != 2.34  Sprachraum-Umschaltung.

Meinst Du das???

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, danke für eure Antworten.
Das Sheet kann ich hier leider nicht posten.

Mein Fehler war, das ich das Sheet als xlText abgespeichert habe. 
Richtig ist, wenn man es als xlTestPrinter abspeichert. Muss man glaub 
ich nicht verstehen, ist aber so ;-)

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Michael,

ich möchte Inhalte aus Zellen in eine *.txt Datei ablegen.
Habe mir bereits einen Button erzeugt, der das ganze aktivieren soll.

Nur ist mir überhaupt nicht klar, über welche Befehle, Klassen, Methoden 
.... ich mein Vorhaben umsetzen soll.
Bin was Makros in Excel angeht sehr grün hinter den Ohren.

Kannst du mir Bücher oder Links empfehlen, die dieses Thema ansprechen.

Danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.