Meinews.de  


Zurück   Meinews.de > Forum > Newsgroups microsoft.public.de.* 1 Forum > Newsgroup microsoft.public.de.excel
Registrieren FAQ Benutzerliste Kalender Suchen Heutige Beiträge Alle Foren als gelesen markieren

Newsgroup microsoft.public.de.excel Forum microsoft.public.de.excel

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 11-06-2009, 02:49 PM
Andreas Killer
 
Beiträge: n/a
Standard Re: Bedingte Kompilierung?

Martin Worm schrieb:

> da ich regelmäßig kompilieren auslöse, kommt das für mich nicht in
> Betracht.

Tja, so ist das halt, ich hab auch erstmal dumm gekuckt das Excel hier
keinen Schalter hat, mit dem man ala "#if XL2000 then" bedingten Code
ausführen kann.

Nun ja, er ist nicht da, kann man nix machen, aaaaaaaaaaaaber, es gibt
da ja noch eine Möglichkeit, die Frage ist ob Sie Dir besser gefällt. :-)

Also sagen wir mal die Routine die uns die Mappe als CSV speichert
befindet sich in Modul1, das wissen wir, weil wir sie ja da
reingeschrieben haben und wir sagen mal sie sieht so aus:

Sub SaveAsCSV(FName As String, WB As Workbook)
End Sub

Das läßt sich garantiert unter jeder Excel-Version kompilieren.

*fiesgrins*

Nönö, keine Verarsche, jetzt kommt noch etwas Code.

Andreas.

Private Sub Workbook_Open()
Dim I As Long, J As Long
With ThisWorkbook.VBProject.VBComponents("Modul1") _
.CodeModule
On Error Resume Next
I = .ProcBodyLine("SaveAsCSV", 0)
If I > 0 Then
J = .ProcCountLines("SaveAsCSV", 0)
If J > 2 Then .DeleteLines I + 1, J - 2
Select Case Val(Application.Version)
Case 9
.InsertLines I + 1, " WB.SaveAs Filename:=FName, " & _
"FileFormat:=xlCSV"
Case Else
.InsertLines I + 1, " WB.SaveAs Filename:=FName, " & _
"FileFormat:=xlCSV, Local:= True"
End Select
End If
End With
End Sub
Mit Zitat antworten
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Meinews.de
Standard Sponsored Links

  #12  
Alt 11-06-2009, 03:04 PM
Martin Worm
 
Beiträge: n/a
Standard Re: Bedingte Kompilierung?

Am Fri, 06 Nov 2009 15:26:06 +0100,schrieb Bernhard Sander:

hallo,

>> da ich regelmäßig kompilieren auslöse,

>Rein interessehalber: Wozu ist das gut?
>VBA-Prozeduren werden doch automatisch kompiliert, wenn sie gestartet werden.


ich schreib nicht nur für mich. Und die, die es sonst benutzen, sollen
keinen Code kriegen, der aus vermeidbaren Gründen abstürzt

mit freundlichen Grüßen

Martin Worm
--
benutze XL 2000 und Win XP SpX
Mit Zitat antworten
  #13  
Alt 11-06-2009, 03:10 PM
Martin Worm
 
Beiträge: n/a
Standard Re: Bedingte Kompilierung?

Am Fri, 06 Nov 2009 15:49:44 +0100,schrieb Andreas Killer:

hallo,

>Martin Worm schrieb:
>
>> da ich regelmäßig kompilieren auslöse, kommt das für mich nicht in
>> Betracht.

>Tja, so ist das halt, ich hab auch erstmal dumm gekuckt das Excel hier
>keinen Schalter hat, mit dem man ala "#if XL2000 then" bedingten Code
>ausführen kann.


Bitte? Ich glaube, ich beende das hier, trotz das wir beide deutsch
schreiben, verstehen wir uns nicht.

als Abschluß, das kann man sicher auch mit Application.run lösen

mit freundlichen Grüßen

Martin Worm
--
benutze XL 2000 und Win XP SpX
Mit Zitat antworten
  #14  
Alt 11-06-2009, 03:45 PM
Bernhard Sander
 
Beiträge: n/a
Standard Re: Bedingte Kompilierung?

Hallo Martin,

>>> da ich regelmäßig kompilieren auslöse,

>> Rein interessehalber: Wozu ist das gut?
>> VBA-Prozeduren werden doch automatisch kompiliert, wenn sie gestartet werden.

>
> ich schreib nicht nur für mich. Und die, die es sonst benutzen, sollen
> keinen Code kriegen, der aus vermeidbaren Gründen abstürzt

Um das sicherzustellen sehe ich die einzig vernünftige Variante darin, diesen
Code nach jeder Änderung auszutesten. Und dann wird's zwangsläufig kompiliert.

Gruß
Bernhard Sander
Mit Zitat antworten
  #15  
Alt 11-06-2009, 03:47 PM
Andreas Killer
 
Beiträge: n/a
Standard Re: Bedingte Kompilierung?

Martin Worm schrieb:

> Bitte? Ich glaube, ich beende das hier, trotz das wir beide deutsch
> schreiben, verstehen wir uns nicht.

Wieso? Es geht doch darum SaveAs unter verschiedenen Versionen
auszuführen und dabei trotzdem das Projekt ohne Fehler kompilieren zu
können.

> als Abschluß, das kann man sicher auch mit Application.run lösen

Da habe ich keine Idee wie das "anständig" gehen könnte. Wäre nett
wenn Du mir das mal zeigst.

Ich kompiliere meine Projekte auch ab und an immer um noch
irgendwelche Fehler aufzuspüren, vergessene Variablen und sowas, ich
hab das gleiche Problem wie Du.... nur keine bessere saubere Lösung
als die mit den 2 Sub's.

Wenn Du eine hast, dann fände ich es nett wenn Du sie mal zeigst.

Andreas.
Mit Zitat antworten
  #16  
Alt 11-06-2009, 07:50 PM
Martin Worm
 
Beiträge: n/a
Standard Re: Bedingte Kompilierung?

Am Fri, 06 Nov 2009 16:45:48 +0100,schrieb Bernhard Sander:

hallo,

>>>> da ich regelmäßig kompilieren auslöse,
>>> Rein interessehalber: Wozu ist das gut?
>>> VBA-Prozeduren werden doch automatisch kompiliert, wenn sie gestartet werden.

>>
>> ich schreib nicht nur für mich. Und die, die es sonst benutzen, sollen
>> keinen Code kriegen, der aus vermeidbaren Gründen abstürzt

>Um das sicherzustellen sehe ich die einzig vernünftige Variante darin, diesen
>Code nach jeder Änderung auszutesten. Und dann wird's zwangsläufig kompiliert.


mach ich manchmal auch. Kommt auf die Komplexität des Makros an.

mit freundlichen Grüßen

Martin Worm
--
benutze XL 2000 und Win XP SpX
Mit Zitat antworten
  #17  
Alt 11-06-2009, 07:52 PM
Martin Worm
 
Beiträge: n/a
Standard Re: Bedingte Kompilierung?

Am Fri, 06 Nov 2009 16:47:38 +0100,schrieb Andreas Killer:

hallo,


>Martin Worm schrieb:
>


>> als Abschluß, das kann man sicher auch mit Application.run lösen

>Da habe ich keine Idee wie das "anständig" gehen könnte. Wäre nett
>wenn Du mir das mal zeigst.


ich ziehe die Behauptung zurück. :-(
Ich hab mich geirrt.

mit freundlichen Grüßen

Martin Worm
--
benutze XL 2000 und Win XP SpX
Mit Zitat antworten
  #18  
Alt 11-06-2009, 08:42 PM
Martin Worm
 
Beiträge: n/a
Standard Re: Bedingte Kompilierung?

Am Fri, 06 Nov 2009 20:52:11 +0100,schrieb Martin Worm:

hallo,
>Am Fri, 06 Nov 2009 16:47:38 +0100,schrieb Andreas Killer:
>

hallo,

>>Martin Worm schrieb:
>>

>
>>> als Abschluß, das kann man sicher auch mit Application.run lösen

>>Da habe ich keine Idee wie das "anständig" gehen könnte. Wäre nett
>>wenn Du mir das mal zeigst.

>
>ich ziehe die Behauptung zurück. :-(


mir ist nochwas eingefallen,
was ich wegen Urlaubs grad nicht testen kann(bei XL2000 läufts)

CallByName ActiveWorkbook, "SaveAs", VbMethod, "Dateiname", xlCSV

mit freundlichen Grüßen

Martin Worm
--
benutze XL 2000 und Win XP SpX
Mit Zitat antworten
  #19  
Alt 11-07-2009, 07:22 AM
Andreas Killer
 
Beiträge: n/a
Standard Re: Bedingte Kompilierung?

Martin Worm schrieb:

> mir ist nochwas eingefallen,
> was ich wegen Urlaubs grad nicht testen kann(bei XL2000 läufts)
>
> CallByName ActiveWorkbook, "SaveAs", VbMethod, "Dateiname", xlCSV

Wat is dat denn für'n Dings? :-))) Hab ich ja noch nie gesehen.

Hmm, daraus könnte man was basteln... kuck mal ob das unter XL2000
sich kompilieren läßt und auch läuft.

BTW, Local musste ich mit einem 2ten L versehen, weil es ein
reserviertes Wort unter XL2002 ist.

Andreas.

Sub Test()
ObjSaveAs ThisWorkbook, "test.csv", xlCSV, Locall:=True
End Sub

Sub ObjSaveAs(Obj As Object, _
Optional FileName, _
Optional ByVal FileFormat As XlFileFormat, _
Optional Password, _
Optional WriteResPassword, _
Optional ReadOnlyRecommended, _
Optional CreateBackup, _
Optional AccessMode, _
Optional ConflictResolution, _
Optional AddToMru, _
Optional TextCodepage, _
Optional TextVisualLayout, _
Optional Locall)
'Speichert Änderungen am Diagramm oder Arbeitsblatt oder an _
der Arbeitsmappe in einer anderen Datei, berücksichtigt _
dabei die Excel-Version
If Obj Is Nothing Then Exit Sub
If Not (TypeOf Obj Is Chart Or TypeOf Obj Is Worksheet Or _
TypeOf Obj Is Workbook) Then Exit Sub
If Val(Application.Version) < 10 Then
CallByName Obj, "SaveAs", VbMethod, FileName, FileFormat, _
Password, WriteResPassword, ReadOnlyRecommended, _
CreateBackup, AccessMode, ConflictResolution, AddToMru, _
TextCodepage, TextVisualLayout
Else
CallByName Obj, "SaveAs", VbMethod, FileName, FileFormat, _
Password, WriteResPassword, ReadOnlyRecommended, _
CreateBackup, AccessMode, ConflictResolution, AddToMru, _
TextCodepage, TextVisualLayout, Locall
End If
End Sub
Mit Zitat antworten
  #20  
Alt 11-07-2009, 10:38 AM
Martin Worm
 
Beiträge: n/a
Standard Re: Bedingte Kompilierung?

Am Sat, 07 Nov 2009 08:22:38 +0100,schrieb Andreas Killer:

hallo,

>Martin Worm schrieb:
>
>> mir ist nochwas eingefallen,
>> was ich wegen Urlaubs grad nicht testen kann(bei XL2000 läufts)
>>
>> CallByName ActiveWorkbook, "SaveAs", VbMethod, "Dateiname", xlCSV

>Wat is dat denn für'n Dings? :-))) Hab ich ja noch nie gesehen.
>
>Hmm, daraus könnte man was basteln... kuck mal ob das unter XL2000
>sich kompilieren läßt und auch läuft.


es läuft unter XL2000 :-)

CallByName versteht leider keine benannten Parameter.
VBA stört sich aber nicht daran, wenn man mehr Parameter eingibt, als
die Methode hat(erst bei Ausführung). Habe beides ausprobiert. :-)

Bin gespannt, ob der OP sich nochmal meldet. Jetzt hat er schon 3
Möglichkeiten, sein Problem zu lösen.

mit freundlichen Grüßen

Martin Worm
--
benutze XL 2000 und Win XP SpX
Mit Zitat antworten
 
Antwort


Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen
Es ist dir nicht erlaubt, auf Beiträge zu antworten
Es ist dir nicht erlaubt, Anhänge anzufügen
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten

vB Code ist An
Smileys sind An
[IMG] Code ist An
HTML-Code ist Aus

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Kompilierung sehr langsamt / CF 3.5 Jens Tönsing Newsgroup microsoft.public.de.german.entwickler.dotnet.vb 2 05-29-2009 02:44 PM
Kompilierung 32Bit / 64Bit Stefan Theobald Newsgroup microsoft.public.de.german.entwickler.dotnet.vb 2 04-27-2009 08:58 PM
Just-in-time Kompilierung Rolf1964 Newsgroup microsoft.public.de.german.entwickler.dotnet.vb 0 08-15-2008 01:59 PM
bedingte kompilierung .Net-Version Gabor Steingart Newsgroup de.comp.lang.delphi.misc 0 10-16-2007 12:06 AM
Kompilierung schlägt fehl Erik Newsgroup de.comp.text.tex 5 09-15-2007 02:33 PM


Alle Zeitangaben in WEZ. Es ist jetzt 08:44 AM Uhr.





Powered by: vBulletin Version 3.6.7 (Deutsch)
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Forum SEO by Zoints