AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Excel VBA: Declare Function Libname als Variable – Wie geht das?
Thema durchsuchen
Ansicht
Themen-Optionen

Excel VBA: Declare Function Libname als Variable – Wie geht das?

Ein Thema von Andreas13 · begonnen am 8. Okt 2021 · letzter Beitrag vom 10. Okt 2021
Antwort Antwort
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
722 Beiträge
 
Delphi XE5 Professional
 
#1

AW: Excel VBA: Declare Function Libname als Variable – Wie geht das?

  Alt 9. Okt 2021, 20:01
Hi Markus888,
s. oben #3:
"Excel 2016 Pro (32-Bit)" und "Office 2019 Pro (32-Bit)".
Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#2

AW: Excel VBA: Declare Function Libname als Variable – Wie geht das?

  Alt 9. Okt 2021, 22:16
Zitat:
Zu Punkt 1: Es wird in dem Order der exe gesucht, nicht in dem Ordner wo sich das Dokument befindet.
Eine *.txt Datei wird mit einem Text Editor gestartet!
Eine *.xls\*.xlsx\*.xlms Datei ist eine Excel Datei und wird mit Excel gestartet.

VBA ist eine Programmiersprache mit der man Macros (innerhalb der/für) Excel Datei\en Programmieren kann.
Zitat:
Visual Basic for Applications ist eine Skriptsprache, die ursprünglich für die Steuerung von Abläufen der Microsoft-Office-Programmfamilie entwickelt wurde.
Sie wurde aus dem von Microsoft entwickelten BASIC-Dialekt Visual Basic abgeleitet.
Nun die Frage interessiert es eine Excel Datei ob sich eine Exe innerhalb seines Pfades befindet um diese Ausführen zu können? Nein!
Also wenn es sich hier um eine Excel Datei handelt die wie auch immer gestartet wird (letztendlich mit Excel) dann interessiert es diese Datei nicht
ob sich eine Exe in seinem ThisWorkbook.Path befindet.

Dementsprechend war meine Aussage berechtigt.
Es wird im Pfad der Excel Datei gesucht nicht im Pfad der EXE.
Man benötigt keine Exe um *.xlsx Dateien bzw. Macros aus dieser heraus auszuführen. (abgesehen von Excel natürlich)
Aber egal einige wissen es halt besser.

Zitat:
Ja, das kenne ich auch: Das nennt man Theorie...
Bei mir ist zwischen Theorie und Praxis – aus welchen Gründen auch immer – eine riesige Kluft vorhanden
Ja das kenne ich auch.
Wenn ich früher in VB6 Dll's finden wollte die nicht registriert werden mußte ich diese immer im Pfad der VB6.exe ablegen
damit sie vom Compiler gefunden wurden. Hat mich auch immer genervt.

PS:
Was du noch versuchen könntest setze die Umgebungsvariable selbst.
Danach könntest du dir den Pfad Windows ersparen. Vielleicht hilft es dir ja.

bsp:
Code:
'In ein Modul

Public Declare Function SetEnvironmentVariable Lib "kernel32.dll" Alias "SetEnvironmentVariableA" ( _
    ByVal lpName As String, _
    ByVal lpValue As String _
) As Long

Public Function RPP(ByVal fp As String) As String

    RPP = IIf(Mid$(fp, Len(fp), 1) <> "\", fp & "\", fp)

End Function

Public Function FileExist(ByVal Bestand As String) As Boolean

    If InStr(1, Bestand, ".") = 0 Then
        FileExist = False
        Exit Function
    End If

    On Error Resume Next
        Call FileLen(Bestand)
        FileExist = (err = 0)
    On Error GoTo 0

End Function

'....... end Modul

Dim MyLibPath As String

'Set Path to MyLib

    MyLibPath = "%Path%;" & ThisWorkbook.Path
    SetEnvironmentVariable "Path", MyLibPath

    'Überprüfe "MyLib.dll" ob sie existiert
    If Not FileExist(RPP(ThisWorkbook.Path) & "\MyLib.dll") Then
        MsgBox "MyLib.dll existiert nicht!", vbCritical, "MYLIB.DLL"
        End 'gleiche wie Halt unter Delphi
    End If

Geändert von venice2 (10. Okt 2021 um 03:23 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
722 Beiträge
 
Delphi XE5 Professional
 
#3

AW: Excel VBA: Declare Function Libname als Variable – Wie geht das?

  Alt 10. Okt 2021, 20:20
Vielen Dank Emil für Deine tatkräftige Hilfe und guten Tipps!
Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Antwort Antwort


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 hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz