Hallo liebe Helfer,
habe in Excel 2016 Modul1 folgenden VBA-Code:
Sub IP_Datei_erzeugen()
Dim x
'x = Shell("C:\Program Files\Notepad++\notepad++.exe")
x = Shell("P:\eKB2017\IPinDatei.exe")
End Sub
Der auskommentierte Code läuft, der andere nicht.
(Rufe ich die IPinDatei.exe per Doppelklick auf, funktioniert sie.)
Die Datei IPinDatei.exe (erzeugt eine Datei mit der aktuellen IP-Adresse) hat folgenden C#-Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;
using System.IO;
// Funktioniert. Legt in das Verzeichnis C:\IP\IpAdresse.txt die Datei mit der aktuellen IP-Adresse.
// https://www.vb-paradise.de/index.php/Thread/109182-Lan-ip-Adresse-auslesen-und-speichern/
// Damit kein Fenster erscheint, wurde die Anwendung als Konsole-Anwendung erstellt, aber dann auf Reiter Anwendung-Windows-Anwendung.
namespace IPinDatei
{
class Program
{
static void Main(string[] args)
{
StreamWriter sw = new StreamWriter("IPinDatei.txt");
string Host = System.Net.Dns.GetHostName();
string IPAddress = null;
foreach (IPAddress address in Dns.GetHostEntry(Host).AddressList)
{
if (address.AddressFamily != AddressFamily.InterNetworkV6)
{
IPAddress = address.ToString();
sw.WriteLine(address.ToString());
}
}
sw.Close();
}
}
}
Hat jemand eine Idee, warum sich das C#-Programm von VBA aus nicht aufrufen lässt?
Freundliche Grüße
merlinuwe
|