For me the macro didn't truncates after 255 chars - it worked (Excel 2003). I believe it is rather an excel issue as from qv. You could try before you the data pasted, the column to formated as text.
Another way could be the pivot to read and write the data on cell level - see APIGuide.qvw for suggestions.
set table = ActiveDocument.GetSheetObject( "CH01" )
for RowIter = 0 to table.GetRowCount-1
for ColIter =0 to table.GetColumnCount-1
set cell = table.GetCell(RowIter,ColIter)
I believe you could use a workaround by creating a copy of your Pivot Table object as a hidden Straight Table object.
This way, once your users are visually satisfied with the result set displayed in the Pivot Table from selections they have chosen, they can call the macro through the means you have provided them, which will export the same data, but from the hidden straight table instead.
Hope this helps, regards,