Search code examples
macrosopenoffice.orgopenoffice-calcbasic

OpenOffice Compare two cell strings


So I am working on a macro in Basic, and where I'm at now I need to compare two columns for duplicates.

Here's what I have going so far:

for i = 0 To 5
   Cell1 = Sheet.getCellByPosition(0,i)

   for j = 0 to 5
   Cell2 = Sheet.getCellByPosition(1,j)

   rem COMPARISON WOULD HAPPEN HERE

   Next j
Next i

I would like to do something along the lines of: if Cell1.String == Cell2.String then ...

This is my first attempt at writing a macro and so I would greatly appreciate any help and/or guidance.

Thanks!

Also on a side note if anyone know of good tutorials.documentation for this other than wiki, I would be extremely grateful for the link


Solution

  • You should store all values of the first column into an array and then compare every value of the second column with all entries of the array using a simple recursion.

    A code that may work is

    Dim firstcolumn(5) As String
    
    For i = 0 to 5
       firstcolumn(i) = Sheet.getCellByPosition(0,i)
    Next i
    
    For j = 0 to 5
       Cell2 = Sheet.getCellByPosition(1,j)
       for i = 0 to 5
        if Cell2 = firstcolumn(i) then
            MsgBox("The value of the cell " + i + " in the first column is the same with the value of the cell " + j + " of the second column")
        Next i   
    Next j
    

    The best place to look for code samples is the openoffice forum https://forum.openoffice.org/en/forum/

    I hope that the above will help you.