To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=45248
------- Additional comments from [EMAIL PROTECTED] Mon May 2 22:05:47 -0700 2005 ------- heres (my) updated version: this would actually iterate twice: once without actual paste, to find the range and the next time - to paste. --- sc/source/ui/docshell/impex.cxx 2005-04-14 09:50:04.000000000 +0530 +++ sc/source/ui/docshell/impex.cxx 2005-05-03 10:29:04.727361887 +0530 @@ -1084,6 +1084,8 @@ BOOL ScImportExport::ExtText2Doc( SvStre SCCOL nStartCol = aRange.aStart.Col(); SCROW nStartRow = aRange.aStart.Row(); SCTAB nTab = aRange.aStart.Tab(); + SCCOL nEndCol = aRange.aEnd.Col(); + SCROW nEndRow = aRange.aEnd.Row(); BOOL bFixed = pExtOptions->IsFixedLen(); const String& rSeps = pExtOptions->GetFieldSeps(); @@ -1127,6 +1129,14 @@ BOOL ScImportExport::ExtText2Doc( SvStre if ( rStrm.IsEof() ) break; } + + bool bGetRange = FALSE; + nOldPos = rStrm.Tell(); + + do + { + bGetRange = !bGetRange; // Toggle + for( ;; ) { rStrm.ReadCsvLine( aLine, !bFixed, rSeps, cStr); @@ -1144,9 +1154,12 @@ BOOL ScImportExport::ExtText2Doc( SvStre { xub_StrLen nStart = pColStart[i]; xub_StrLen nNext = ( i+1 < nInfoCount ) ? pColStart[i+1] : nLineLen; - aCell = lcl_GetFixed( aLine, nStart, nNext ); - bMultiLine |= lcl_PutString( pDoc, nCol, nRow, nTab, aCell, pColFormat[i], - aTransliteration, aCalendar, pEnglishTransliteration, pEnglishCalendar ); + if( !bGetRange ) + { + aCell = lcl_GetFixed( aLine, nStart, nNext ); + bMultiLine |= lcl_PutString( pDoc, nCol, nRow, nTab, aCell, pColFormat[i], + aTransliteration, aCalendar, pEnglishTransliteration, pEnglishCalendar ); + } ++nCol; } } @@ -1172,7 +1185,8 @@ BOOL ScImportExport::ExtText2Doc( SvStre } if ( nFmt != SC_COL_SKIP ) { - bMultiLine |= lcl_PutString( pDoc, nCol, nRow, nTab, aCell, nFmt, + if( !bGetRange ) + bMultiLine |= lcl_PutString( pDoc, nCol, nRow, nTab, aCell, nFmt, aTransliteration, aCalendar, pEnglishTransliteration, pEnglishCalendar ); ++nCol; } @@ -1190,7 +1204,24 @@ BOOL ScImportExport::ExtText2Doc( SvStre bOverflow = TRUE; // beim Import Warnung ausgeben break; } + + // Find the correct End Col and End Row + if( bGetRange ) + { + if(nCol>nEndCol) nEndCol=nCol; + if(nRow>nEndRow) nEndRow=nRow; + } } + if( bGetRange ) + { + aRange.aEnd.SetCol( nEndCol - 1 ); + aRange.aEnd.SetRow( nEndRow - 1 ); + StartPaste(); // Start the Paste, in the next iteration the actual paste is + // performed. + rStrm.Seek( nOldPos ); + nRow = nStartRow; + } + } while(bGetRange); ScColumn::bDoubleAlloc = bOld; pDoc->DoColResize( nTab, 0, MAXCOL, 0 ); @@ -1198,6 +1229,8 @@ BOOL ScImportExport::ExtText2Doc( SvStre delete pEnglishTransliteration; delete pEnglishCalendar; + EndPaste(); // Paste was successful, refresh, etc. + return TRUE; } --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]