unkwownuser
Goto Top

VBA Excel - Text generieren

Hallo an alle,

ich bin gerade am versuchen in VBA ein Script zu erstellen, das automatisch MS Excel öffnet und einen beliebigen Text generiert.
Jedoch finde ich nicht so wirklich einen Anfang. Es hapert schon beim Erstellen eines Files.

Ich bin über jeden kleinen Tipp dankbar.


Gruß,
unkwownuser
Kommentar vom Moderator Biber am 14.08.2009 um 17:32:55 Uhr
Eigentlich hätte ich diesem Beitrag -schon weil voraussichtlich ein Dutzend Nachfragen zur Problemklärung nötig sein werden - sofort in die Tonne kloppen sollen.
Zu spät - aber bewerten werde ich noch.

Content-ID: 122771

Url: https://administrator.de/contentid/122771

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

Biber
Biber 14.08.2009 um 14:41:56 Uhr
Goto Top
Moin unkwownuser,

willkommen im Forum.

Ich bin über jeden kleinen Tipp dankbar.
Niemand kann über einen Tipp dankbar sein.
Entweder "sich freuen über" oder "dankbar sein für" etwas.

Kannst Du mal bitte erläutern, was Du mit "einen beliebigen Text generieren" zu skizzieren versuchst?
Soll dieser Text in eine neue Arbeitsmappe oder auf den Bildschirm oder als Menetekel an die Wand geschrieben werden?

Grüße
Biber
unkwownuser
unkwownuser 14.08.2009 um 15:24:43 Uhr
Goto Top
Hi Biber,

ich mein damit, dass das Script Excel öffnet, danach einen freien Text generiert und diesen abspeichert.
Nur lässt sich das nicht so richtig verwirklichen.


Gruß,
unkwownuser
bastla
bastla 14.08.2009 um 15:57:04 Uhr
Goto Top
Hallo unnownuser und auch von mir ein Willkommen!

Wie "frei" soll denn der Text sein, und seit wann ist "Textverarbeitung" eine Excel-Spezialität?

Soll auch der Dateiname und der Speicherort vom Script "frei" gewählt werden? Möchtest Du in diesem Fall einen Hinweis darauf, wo das Ergebnis zu finden ist? face-wink

Grüße
bastla
unkwownuser
unkwownuser 14.08.2009 um 16:12:45 Uhr
Goto Top
Hi bastla,

es geht mir nur darum, da ich später das Script noch kombinieren muss und dafür brauch ich Excel.
Also nochmal zu deiner Frage bastla. Der Text sollte grad generiert werden, nach dem Zufallsprinzip.
Zu deiner zweiten Frage, da stelle ich mir einen Dialog vor. Das ist aber kein Problem face-smile


Gruß,
unkwownuser
bastla
bastla 14.08.2009 um 16:25:04 Uhr
Goto Top
Hallo unknownuser!

Magst Du nicht doch etwas weiter ausholen und erklären, von welcher Office-Anwendung (Excel oder nicht Excel) aus (da es ja VBA sein soll) gestartet wird?

Sofern es nicht der Geheimhaltung unterliegt könntest Du vielleicht sogar auch noch etwas über Stellenanzahl und Zeichenvorrat des Zufallstextes verraten ...

Grüße
bastla
unkwownuser
unkwownuser 14.08.2009 um 16:34:09 Uhr
Goto Top
Hi bastla,

es soll natürlich von Excel aus gestartet werden.
Der Zufallstext hat bis jetzt noch keine Stelleanzahlen und Zeichenvorrate. Es muss auch nicht unbedingt ein Zufallstext sein. Man kann es auch mit einem vorgegeben Text im Script hinterlegen.


Gruß,
unkwownuser
bastla
bastla 14.08.2009 um 16:46:44 Uhr
Goto Top
Hallo unknownuser!

Dann bietet sich also vielleicht eher die folgende Problembeschreibung an:
In Excel soll per VBA eine neue Arbeitsmappe erzeugt, in Zelle A1 ein (noch zu bestimmender )Text geschrieben und diese neue Mappe (unter Verwendung eines Dialoges) gespeichert werden.

Richtig?

Grüße
bastla
Lionheart
Lionheart 14.08.2009 um 16:47:51 Uhr
Goto Top
Hi unkwownuser!

Kannst du das Thema nicht etwas genauer beschreiben?

Was bedeutet ein "beliebiger Zufallstext"? Was verstehst du darunter?

Soll der Text in eine Tabelle geschrieben werden oder wie darf man das verstehen?

Werd bitte mal etwas detailierter, damit wir dir helfen können
unkwownuser
unkwownuser 14.08.2009 um 16:51:47 Uhr
Goto Top
Hi bastla,

genauso kann man sich das vorstellen.


Gruß,
unkwownuser
unkwownuser
unkwownuser 14.08.2009 um 16:55:39 Uhr
Goto Top
Hi Lionheart,

also den Zufallstext kann man auch durch einen einfachen vorgegeben Text im Script hinterlegen.
Der Text soll schon in eine Tabelle geschrieben werden.


Gruß,
unkwownuser
bastla
bastla 14.08.2009 um 17:05:12 Uhr
Goto Top
Na dann:
Sub NeuMitText()
    DerText = "Ein Text"  
    Workbooks.Add
    Range("A1") = DerText  
    fileSaveName = Application.GetSaveAsFilename(fileFilter:="Microsoft Excel Arbeitsmappe (*.xls), *.xls")  
    If fileSaveName <> False Then
        ActiveWorkbook.SaveAs fileSaveName
    End If
    ActiveWindow.Close
End Sub
Grüße
bastla
unkwownuser
unkwownuser 17.08.2009 um 08:59:52 Uhr
Goto Top
Hi bastla,

das sieht sehr gut aus.
Ich habe immer vergessen die Arbeitsmappe zu erstellen. Aus Fehlern lernt man.
Jetzt habe ich noch eine Frage:
Wie macht man es am besten, dass das Script, Excel automatisch öffnet und die Sub ausführt.
Mit der Shell-Funktion will es nicht so wirklich funktionieren.
bastla
bastla 17.08.2009 um 17:00:13 Uhr
Goto Top
Hallo unknownuser!

Wieso sollte ein in Excel gestartetes Script Excel öffnen?

Vielleicht beschreibst Du Dein ganzes Vorhaben mal etwas genauer ...

Grüße
bastla
unkwownuser
unkwownuser 17.08.2009 um 17:10:30 Uhr
Goto Top
Hi bastla,

ich mach mal ein kleines Beispiel:
Ich habe eine *.vbs-Datei. Diese Datei soll Excel öffnen und die Sub ausführen.
In diesem Falle einen Text schreiben und abspeichern.
Dies ist doch auch möglich oder täusche ich mich da?

Gruß,
unkwownuser
bastla
bastla 17.08.2009 um 17:48:52 Uhr
Goto Top
Hallo unknownuser!

... und wieso sagst Du nicht gleich, was Du eigentlich willst?
DerText = "Ein Text"  
Set XL = CreateObject("Excel.Application")  
XL.Workbooks.Add
XL.Range("A1") = DerText  
XL.Quit
Grüße
bastla
unkwownuser
unkwownuser 18.08.2009 um 08:25:35 Uhr
Goto Top
Hi bastla,

das sieht spitze aus.
Genau sowas hatte ich mir vorgestellt.

Ich danke dir vielmals für deine Hilfe.


Gruß,
unkwownuser