Laden...

Umsetzung von VBA in C#

Erstellt von Ploetzi vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.562 Views
Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren
Umsetzung von VBA in C#

Hallo,
ich habe folgenden Code in VBA

Public hAxis(PcX To PcZ) As Long

Wie setzeich selbigen in C# um?

dachte das sei eine Funktion, aber offensichtlich ist das irgendwas anderes,....
ist Bestandteil einer VBA Datei mit excel erstellt

Herzlichen Dank vorweg!
Die Wie poste ich richtig? Guidelines habe ich mir im Vorhinein durchgelesen. Sollte so passen!

Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren

und hier nochwas


Declare Function ioOpen Lib "Io.DLL" Alias "IoOpen" (ByVal Name As String, ByVal Attr As Long) As Long


[DllImport("Io.DLL")]
public static extern long ioOpen Lib "Io.DLL" Alias "IoOpen" (String Name,Long Attr)

1.044 Beiträge seit 2008
vor 15 Jahren

Hallo Ploetzi,

siehe: [FAQ] Wie kann ich VBA-Code in C# übersetzen? .

zero_x

3.971 Beiträge seit 2006
vor 15 Jahren

Schau dir zusätzlich auch mal den .net code converter an

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren

ja, danke

aber hier:
Public hAxis(PcX To PcZ) As Long

versteh ich das in der klammer nicht,....

lg

3.971 Beiträge seit 2006
vor 15 Jahren

Das Definiert ein Array vom Typ Long. Die Argumente in der Klammer (Konstanten) geben den Start und Ende-Index des Arrays an.

In C# ist sowas aber nicht möglich. Alle Arrays fangen bei 0 an.

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 15 Jahren

Danke, ja in C# und in C++ geht das nicht. Herzlichen Dank!

5.742 Beiträge seit 2007
vor 15 Jahren

In C# ist sowas aber nicht möglich. Alle Arrays fangen bei 0 an.

Rein theoretisch gesehen nicht; folgender Code erzeugt ein long-Array mit der Länge 10 und dem Startindex 100:


Array arr = Array.CreateInstance(typeof(long), new int[] { 10 }, new int[] { 100 });

Allerdings ist es nicht möglich, arr nach long[] zu casten - rein technisch gesehen handelt es sich trotzdem um ein Array mit dem Startindex 100.
Auch habe ich bisher noch keinen wirklichen Anwendungsfall gefunden...

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo winSharp93,

Auch habe ich bisher noch keinen wirklichen Anwendungsfall gefunden...

zum Beispiel, wenn man einen entsprechenden Parameter an eine Methode übergeben will/muss, die in einer .NET-Sprache geschrieben wurde, die solche Arrays (direkt) unterstützt und daher ein entsprechender Parametertyp verwendet wurde. Zugegeben ein eher spezieller Fall.

herbivore