2013-01-16 42 views

回答

1

不得不自己弄清楚這個,所以這裏是一個宏,它將一張紙上的單元格的註釋複製到另一張紙上的實際單元格中。 它可能會更好,但它完成了工作,所以它不值得再把(我的)時間放進去!

REM ****** BASIC ********* 

Sub ExtractCommentAnnotationThings 

Dim myDoc as Object 
Dim originalSheet as Object 
Dim newSheet as Object 
Dim originalCell as Object 
Dim newCell as Object 
Dim commentString As String 

REM DEFINE VAR FOR OUR LOOP 
Dim iTargetRow, iTargetColumn As Long 

Const kEndRow = 950 
Const kEndColumn = 20 

REM SET DOC 
myDoc = ThisComponent 

REM GET SHEET 
originalSheet = myDoc.Sheets(0) 
newSheet = myDoc.Sheets(1) 

REM START LOOP 
For iTargetRow = 0 To kEndRow: DoEvents 
For iTargetColumn = 0 To kEndColumn: DoEvents 
    originalCell = originalSheet.getCellByPosition(iTargetColumn,iTargetRow) 
    REM commentString = Trim(originalCell.Comment.Text) 
    If originalCell.Annotation.isVisible = True Then 

     commentString = originalCell.getAnnotation().String 

     newCell = newSheet.getCellByPosition(iTargetColumn,iTargetRow) 
     newCell.String = commentString 
    End If  
Next 
Next 
REM CONTINUE LOOP 

End Sub 

設置kEndRowkEndColumn只包含您想複製的單元格的範圍。 也適當設置originalSheetnewSheet(可能需要先創建一個新工作表),以便將它們複製到您想要的位置。

希望它有幫助!