22 Stimmen

Ressourcen für Python-Programmierer

Ich habe eine Menge Code in Python geschrieben und bin daher mit der Syntax, der Objektstruktur usw. von Python sehr vertraut.

Welches ist der beste Online-Leitfaden oder die beste Ressourcenseite, um mich mit den Grundlagen vertraut zu machen, sowie ein Vergleich oder ein Nachschlagewerk mit gleichwertigen Funktionen/Merkmalen in VBA gegenüber Python.

Ich habe zum Beispiel Schwierigkeiten, eine einfache Liste in Python mit VBA-Code gleichzusetzen. Ich habe auch Probleme mit Datenstrukturen, wie z. B. Wörterbüchern und so weiter.

Welche Ressourcen oder Tutorien sind verfügbar, die mir eine Anleitung zur Portierung von Python-Funktionen auf VBA oder zur Anpassung an die VBA-Syntax von einem starken OOP-Sprachhintergrund aus bieten?

2 Stimmen

Ich bin nur neugierig... warum versuchen Sie, VBA zu lernen?

2 Stimmen

Eine gute Frage, und wenn es ihm so geht wie mir, ist er im Büro ein Tausendsassa und muss irgendeinen Excel-Mist automatisieren.

0 Stimmen

Es gibt viele Gründe, warum jemand eine neue Programmiersprache lernen möchte. Viele von ihnen haben sehr unterschiedliche Fähigkeiten und funktionieren auf verschiedenen Plattformen, so dass es sinnvoll ist, mehr als eine Sprache zu beherrschen.

1voto

molasses Punkte 3108

Ich denke, das Äquivalent von Listen wäre Arrays in Bezug auf den allgemeinen Gebrauch. Wo es üblich ist, eine Liste in Python zu verwenden, würde man normalerweise ein Array in VB verwenden. VB-Arrays sind jedoch im Vergleich zu Python-Listen sehr unflexibel und ähneln eher Arrays in C.

' An array with 3 elements
'' The number inside the brackets represents the upper bound index
'' ie. the last index you can access
'' So a(2) means you can access a(0), a(1), and a(2) '

Dim a(2) As String
a(0) = "a"
a(1) = "b"
a(2) = "c"

Dim i As Integer
For i = 0 To UBound(a)
    MsgBox a(i)
Next

Beachten Sie, dass Arrays in VB nicht in der Größe verändert werden können, wenn Sie die anfängliche Anzahl der Elemente deklarieren.

' Declare a "dynamic" array '

Dim a() As Variant

' Set the array size to 3 elements '

ReDim a(2)
a(0) = 1
a(1) = 2

' Set the array size to 2 elements
'' If you dont use Preserve then you will lose
'' the existing data in the array '

ReDim Preserve a(1)

Sie werden auch auf verschiedene Sammlungen in VB stoßen. z.B.. http://devguru.com/technologies/vbscript/14045.asp

Wörterbücher in VB können wie folgt erstellt werden:

Set cars = CreateObject("Scripting.Dictionary")
cars.Add "a", "Alvis"
cars.Add "b", "Buick"
cars.Add "c", "Cadillac" 

http://devguru.com/technologies/vbscript/13992.asp

0voto

S.Lott Punkte 371691

"Ich habe Schwierigkeiten, eine einfache Liste in Python mit etwas in VBA..."

Das ist nicht die beste Art, die Sprache zu lernen. In gewisser Weise geben Sie große Teile von Python auf, weil es etwas Ähnliches in VBA nicht gibt.

Wenn es so etwas wie eine Python-Liste in VBA nicht gibt, dann ist das etwas Neues. Und neu wäre der bedeutende Wert in Teilen von Python.

Die ersten Teile der Python Eingebaute Typen möglicherweise nicht gut auf VBA übertragen. Das lässt das Lernen entmutigend erscheinen. Aber wenn man sich nur auf Dinge beschränkt, die in VBA vorkommen, kann man nicht lernen.

0voto

CtrlDot Punkte 3039

Es mag seltsam klingen, aber seit ich Datenstrukturen in C++ gelernt habe, fiel es mir sehr schwer, herauszufinden, wie man sie ohne Zeiger erstellt. VB6/VBA hat etwas an sich, das sie für mich unnatürlich erscheinen lässt. Jedenfalls bin ich auf diesen Abschnitt von MSDN gestoßen, der mehrere in VBA geschriebene Beispiele für Datenstrukturen enthält. Ich fand sie sehr nützlich.

Dynamische Datenstrukturen mit Klassenmodulen erstellen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X