Autor
|
Thema: Notepad mit Excel-VBA steuern (10159 mal gelesen)
|
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 18. Mai. 2010 14:41 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte gerne aus Excel heraus die in das Notepad eingefügten Daten als txt-Datei mit festgelegtem Namen speichern und anschließend Notepad wieder schließen. Notepad öffnen und die Daten einfügen funktioniert bereits. Welche Befehle brauche ich für den Rest? __________________________________________ Sub Makro2() ' Sheets("Hofpositionen").Select Range("AI28:AJ2073").Select Range("AI28:AJ2073").Copy Sheets("Standardparameter").Select Dim AppID As Long AppID = Shell("notepad", vbNormalFocus) DoEvents AppActivate AppID SendKeys "^v" End Sub __________________________________________ ------------------ Gruß Pille Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 18. Mai. 2010 14:46 <-- editieren / zitieren --> Unities abgeben: Nur für pi-design
|
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 18. Mai. 2010 14:58 <-- editieren / zitieren --> Unities abgeben:
Hallo Axel, letzlich brauche ich von den kopierten Excel-Daten ein txt-file, welches ich in SolidWorks in ein "Tabellengesteuertes Muster" einfügen kann. Es ist mir egal wie auch immer dieses zustande kommt. Wenn es einen anderen einfachen Weg gibt, solls mir recht sein. Als VBA-Legastheniker tue ich mir halt schwer mit dieser Aufgabe. ------------------ Gruß Pille Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 18. Mai. 2010 15:14 <-- editieren / zitieren --> Unities abgeben: Nur für pi-design
|
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 18. Mai. 2010 20:08 <-- editieren / zitieren --> Unities abgeben:
Hallo Axel, das Excel-File selber kann ich nicht als txt abspeichern, da aus diesem File nur ein paar Berechnete Werte benötigt werden (x- und Y- Koordinaten). Die Anzahl ist von Berechnung zu Berechnung unterschiedlich. ------------------ Gruß Pille Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 18. Mai. 2010 22:22 <-- editieren / zitieren --> Unities abgeben: Nur für pi-design
Ohne Deine genauen Anforderungen zu kenne kann ich Dir nur ein generelles Stück Code geben, mit dem Du dann mal selbst weiterschauen musst: Code: set wshshell = CreateObject("WScript.Shell") set fs = CreateObject("Scripting.FileSystemObject") Textstring = "Dies ist ein text" MsgBox Textstring ' Ergebnis in eine Datei schreiben: dateiname = "C:\text.txt" set datei = fs.CreateTextFile(dateiname, true) datei.Write Textstring datei.close
Axel ------------------ Inoffizielle deutsche CATIA Hilfeseite Netiquette von cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 19. Mai. 2010 06:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Axel, also, wir kommen so langsam in die gewünschte Richtung. Folgendes sollte noch erfüllt werden: Die Werte aus dem Zellenbereich, welche im Zwischenspeicher sind sollten noch eingetragen werden. Sheets("Hofpositionen").Select Range("AI28:AJ2073").Select Range("AI28:AJ2073").Copy Sheets("Standardparameter").Select ------------------ Gruß Pille Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Comos User Mitglied
Beiträge: 112 Registriert: 23.03.2010
|
erstellt am: 19. Mai. 2010 07:55 <-- editieren / zitieren --> Unities abgeben: Nur für pi-design
Hallo Pille, zu select etc kugst du hier http://www.online-excel.de/excel/singsel_vba.php?f=61 ansonsten so: Set fs = CreateObject("Scripting.FileSystemObject") Set Datei = fs.createtextfile("C:\Test.txt", True) Set quelle = Sheets("Hofpositionen").Range("AI28:AJ2073") For Each zeile In quelle.Rows For Each zelle In zeile.Cells Datei.write zelle.Value Datei.write vbTab Next Datei.write vbNewLine Next Datei.Close
Das ist das Format wie es bei Copy paste entsteht, also Tab und Newlline. Wenn du andere Trennzeichen brauchst, oder einen Variablen Dateinamen melde dich einfach noch mal.
Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 19. Mai. 2010 08:14 <-- editieren / zitieren --> Unities abgeben:
|
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 19. Mai. 2010 09:48 <-- editieren / zitieren --> Unities abgeben:
|
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 19. Mai. 2010 10:42 <-- editieren / zitieren --> Unities abgeben: Nur für pi-design
|
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 19. Mai. 2010 10:50 <-- editieren / zitieren --> Unities abgeben: Nur für pi-design
|
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 19. Mai. 2010 11:30 <-- editieren / zitieren --> Unities abgeben:
Hi, hab noch ein Problem mit dem Pfad. So, wie ich es jetzt habe, will er nicht. Mit "c:\VARIABLE" heißt die Datei dann VARIABLE. Sub Makro2()
Set fs = CreateObject("Scripting.FileSystemObject") Set Datei = fs.createtextfile(c:\VARIABLE, True) VARIABLE = Sheets("Standardparameter").Range("F100") Set quelle = Sheets("Hofpositionen").Range("AI28:AJ2073") For Each zeile In quelle.Rows For Each zelle In zeile.Cells Datei.write zelle.Value Datei.write vbTab Next Datei.write vbNewLine Next Datei.Close End Sub
------------------ Gruß Pille Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 19. Mai. 2010 12:00 <-- editieren / zitieren --> Unities abgeben:
Hab nun die Lösung: Sub Makro2() Dim Dateiname As String Dim Variable As String Variable = Sheets("Standardparameter").Range("F100") Dateiname = "c:\" & Variable & ".txt" Set fs = CreateObject("Scripting.FileSystemObject") Set Datei = fs.createtextfile(Dateiname, True) Set quelle = Sheets("Hofpositionen").Range("AI28:AJ2073") For Each zeile In quelle.Rows For Each zelle In zeile.Cells Datei.write zelle.Value Datei.write vbTab Next Datei.write vbNewLine Next Datei.Close End Sub Danke an alle
------------------ Gruß Pille Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |