Hallo,
warum antwortet mir denn keiner?
a) Excel-Automation über JScript (nicht Javascript) ist hier nicht so oft
das Thema.
b) eine Codewüste, nahezu ohne Kommentare.
Eine einzige Funktion, die über einen einigermaßen anständigen Header
verfügt: getFiles()
Diese Codewüste soll nun der potentielle Helfer durchforsten, den Ablauf
nachvollziehen, um herauszufinden, wo was schiefgeht.
Das sind sehr schlechte Voraussetzungen, Hilfe zu finden.
a) Debug-Strategien, wie von Deus Figendi vorgeschlagen, anwenden, um das
Problem einzugrenzen
b) Code kommentieren. Nein, das ist *kein* selbsterklärender Code.
c) Code vereinfachen, ein Beispiel:
function convertAnzahlToObject( anz )
{
anz = anz.substr( 17, 3 );
// in anz steht nun der gewünschte Teilstring
out_anz = anz;
// dieser wurde in die Variable out_anz umkopiert, ...
return out_anz;
// nur damit der Inhalt dieser Variablen zurückgegeben werden kann
};
1. Vereinfachung:
Umkopieren in eine Variable, die sonst nicht genutzt wird, weglassen:
function convertAnzahlToObject( anz )
{
anz = anz.substr( 17, 3 );
// in anz steht nun der gewünschte Teilstring
return anz;
// Gib diesen zurück
};
2. Schritt:
Überschreiben des Übergabeparameters weglassen, gleich gewünschten
Teilstring zurückgeben:
function convertAnzahlToObject( anz )
{
return anz.substr( 17, 3 );
};
Aber:
Was ist "anz"?
Warum ist dies ein Objekt (siehe Funktionsname)?
Woher kommen die magischen Zahlen 17 und 3?
Alles in allem eine Funktion, deren Sinn der Leser ohne Hintergrundwissen nicht versteht. Vermittle in Kommentaren (hier im Headerkommentar) dieses Wissen. Reduziere unnötige Komplexität durch Entfernen überflüssigen Codes (hier zwei von drei Codezeilen).
Freundliche Grüße
Vinzenz