Q_21884491.html - Still a problem

Hi all,

In the link above is the code for the postdrag event of the calendar to help me drag and drop a calendar entry. Now with that i had a type mistmatch error. The error was fixed by implementing the following code inside the script in the link above.

      tmpList =doc.testdates
      i=0
      Forall x In tmpList
            Redim Preserve oldList(i)
            oldList(i) = Format$(x, "Short Date")
            i = i + 1
      End Forall

However, with this code now, the list that I am placing in the newList is a string list.
Now I want to try to convert it to date list(array of dates) instead of having newlist populated in my date field on the document as text list because I'll have a lot of other problems with it later.

I tried using the same loop above on the newlist, before assigning that to doc.testdates

              tmpList1 =doc.testdatefield
      j=0
      Forall elements In tmpList1
            Redim Preserve newlist(j)
            newlist(j) = Cdat(j)
            j = j + 1
      End Forall

I get out of subscript error.

I try the following:

newlist = cDat(newList)
I know though that this doesn't work because I know to change the value from text to date on each elements of the oldlist array.

I also tried to use Evaluate with @texttotime on newList and still had problems with it.

My question:
What's the simplest, most efficient way to resolve this problem and at the same time convert the newList array to short dates(without time) before assigning the value back to the field on the document?

Thank you all in advance.


varvouraAsked:
Who is Participating?
 
Steve KnightIT ConsultancyCommented:
or even
tmplist1 =doc.testdatefield
redim newlist (ubound(tmplist1))
for j=1 to ubound(tmplist)
  newlist(j)=cdat(tmplist1(j))
next j
0
 
Steve KnightIT ConsultancyCommented:
How about:

tmpList1 =doc.testdatefield
redim newlist (ubound(tmplist1))
for j=1 to ubound(tmplist)
  newlist(j)=cdat(oldlist(j))
next j

Can't you do it all in one too?:

tmpList =doc.testdates
     i=0
     Forall x In tmpList
          Redim Preserve oldList(i)
          oldList(i) = cdat(Format$(x, "Short Date"))
          i = i + 1
     End Forall

Steve
0
 
varvouraAuthor Commented:
It is so funny, when I look closely at your code, the first "j" bit, I tried it that way as well today. If i had access to this site in the day, I would've saved you the trouble.

Much much appreciated effort
0
 
Steve KnightIT ConsultancyCommented:
No problem, again thanks for the points.

Steve
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.