2016-09-23 2 views
0

(Ich bin nicht sicher, ob es angemessen ist, meine Frage hier zu stellen, weil vielleicht die Lösung einfach ist, aber ich weiß nicht, wie es zu lösen)Berechnung in LotusScript-

Wir haben einen LotusScript- Agenten und ich wurde zugewiesen verbessern Sie die Funktion dieses Agenten. Aber das Problem ist, ich nur ein Stück Code haben und der Code wie folgt aus:

(-Code bearbeitet)

Dim nYes As Integer 'new add 
Dim nNo As String 'new add 
nYes = 0 'new add 
nNo = 0 'new add 
Set view = sdb.getview("ExportToExcel") 
Call view.refresh 
For i = 9 To thisRow-1 
    For j = 3 To thisCol-1 Step 2 
     tmpstr = thisSheet.cells(6,j).value+"xxx"+thisSheet.cells(i,1).value 
     Set thisDoc = view.getdocumentbykey(tmpstr) 
     thisSheet.cells(i,j) = "No" 
    ' nNo = nNo + 1 'commented this line 
    ' thisSheet.Cells(i,j) = nNo 'commented this line 
     If thisDoc Is Nothing Then 
     Else 
      If Format(thisDoc.ExpiryDate(0),"YYYYMM") >= thisStartDate And Format(thisDoc.ExpiryDate(0),"YYYYMM") <= thisEndDate Then 
      thisSheet.cells(i,j) = "Yes" 
      nYes = nYes + 1 'new add 
      'Suppose row30 and column30 to show the total of yes 
      thisSheet.Cells(30,30) = nYes 'new edit in this line 
      End If 
     End If 
    Next 
Next 

' the result returns like this 
'1 
'3 
'5 
'7 
'9 
'... 

ich den Code lesen, ich glaube, dieser Code über einen Vergleich ist zu tun (der for-loop-Teil), wenn der Wert übereinstimmt, "Yes" anzeigen, andernfalls "No" anzeigen. Und ich muss berechnen, wie viele ja und wie viele nein.

Ich gehe davon aus, dass die Variablendeklaration und die Einstellung korrekt sind, da dieser Agent bereits in der Anwendung verwendet wird und wir einige Verbesserungen im Agenten vornehmen müssen. Daher konzentriere ich mich auf den Code, den ich habe.

Ich bin nicht sehr vertraut mit lotusscript, und ich schreibe den folgenden Code zu versuchen zu finden, wie viele ja (s) und wie viele keine (s) in dem Wert.

+0

Was genau ist Ihre Frage? Dieser Code durchläuft eine Excel-Tabelle (die außerhalb des Kontexts des von Ihnen geposteten Codes definiert ist) und sucht in der entsprechenden Ansicht nach einem Dokument mit dem Schlüssel, der aus zwei verschiedenen Zellen in Excel besteht. Wenn es gefunden wird, prüft es ein Datum und schreibt "Ja", wenn das Datum zwischen Startdatum und Enddatum liegt ... Was bedeutet es, dass Sie diesen Code "verbessern" müssen? –

+1

Zuerst schreiben Sie "Ja" in die Zelle und danach die Zahl nYes in die selbe Zelle .... Wenn Sie die Summe benötigen schreiben Sie die Summe am Ende .. Vielleicht sollten Sie die nNo Berechnung ändern, da dies immer der sein wird Gesamtzahl der gereisten Zellen .... – umeli

+0

@umeli, danke, dass du mir das "Ja" gesagt hast und nYes sind in der gleichen Zelle. Das merke ich vor deinem Kommentar nicht. Angenommen, die Summe wird in Spalte 30 und Zeile 30 angezeigt, also ändere ich die Zelle "nYes" in "thisSheet.Cells (30,30) = nYes". und ich entferne den Code 'nNo = nNo + 1 thisSheet.Cells (i, j) = nNo'. Das Ergebnis ist jedoch das gleiche. Was mache ich falsch im Code? – Learner

Antwort

0

Sie möchten nur die Anzahl der Ja und Nein Ergebnisse zählen? Tun Sie dies:

dim nYes as Integer 
dim nNo as Integer 
nYes = 0 
nNo = 0 

Dann fügen Sie nYes = nYes + 1 und nNo = nNo + 1 an den entsprechenden Stellen.

Wenn die Schleifen abgeschlossen sind, werden die Variablen nYes und nNo gezählt.

Natürlich ist das nächste, was Sie zu tun haben, die Frage "Jetzt, wo ich die Grafen habe, was mache ich mit ihnen?" Ich kann Ihnen damit nicht weiterhelfen, da Sie keinen Hinweis darauf gegeben haben, was hier wirklich erforderlich ist.

+0

Vielen Dank für Ihre Antwort. Ich habe deine Methode ausprobiert, den Code überarbeitet und meinem Kollegen den Agenten übergeben. (Ich habe nicht den vollständigen Code des Agenten, ich habe nur einen Teil des Codes, um die Verbesserung durch meinen Kollegen zu tun). Mein Kollege sagte mein Code nur 1,3,5,9, ...für das Ergebnis. In diesem Moment weiß ich, dass ich deine Antwort falsch verstanden habe, also bearbeite ich den Code in meiner Frage. Würdest du dich frei fühlen, die Fehler zu sehen? Vielen Dank – Learner