+ you missed the place(s) in the OApplicationController implementation where pasteTable is called - with the current patch, the table name is not passed to pasteTable + the newly added parameter in pasteTable is of type "const ::rtl::OUString", it must be "const ::rtl::OUString&" - else passing it will create a full object copy. - I'd prefer naming the variable/s DefaultTableName instead of TableName, since this name *should* be used when possible (instead of *must* be used). That's even more important to distinguish the various table names which are involved: aTableName in OHTMLReader::CreateTable is inited to some non-ambiguous name. It is overwritten in case the HTML contains a caption. ODatabaseExport::m_sTableName on the other hand is a "suggested" or "default" table name imposed from the outside. The relationship between those - which one should succeed in which case - is not clearly defined. That's not a real problem, but you should make the differences between them more obvious by better names. - It might make sense to go a little step further: When you paste onto an existing table, you most probably want to append data, instead of creating a new table. This could, for instance, be done by default-selecting "Append data" if the given table name already exists. Care to implement this?