我想將焦點強制到特定的單元格上,我通過XlCall.Excel(XlCall.xlfCaller)參考了這個單元格。我知道如何在VSTO中做到這一點,但有沒有辦法用ExcelDNA做到這一點?如何使用ExcelDNA選擇一個單元格?
1
A
回答
1
一種方法是使用COM自動化接口,就像從VBA或VSTO那樣。請確保使用ExcelDnaUtil.Application
作爲根的Application
對象。從您從xlfCaller
收到一個COM Range
對象ExcelReference
轉換,你可以嘗試(這是VB.NET版本):
Private Function ReferenceToRange(ByVal xlRef As ExcelReference) As Object
Dim strAddress As String = XlCall.Excel(XlCall.xlfReftext, xlRef, True)
ReferenceToRange = ExcelDnaUtil.Application.Range(strAddress)
End Function
如果你想堅持使用C API,你首先必須選擇正確的表格,然後選擇實際的單元格。所以,你可能有:
string myCellSheet = (string)XlCall.Excel(XlCall.xlSheetNm, myCell);
XlCall.Excel(XlCall.xlcWorkbookSelect, new object[] { myCellSheet });
XlCall.Excel(XlCall.xlcFormulaGoto, myCell);
您將無法更改工作表函數的選擇,所以我想你是從宏觀或帶狀處理程序調用此。
1
有可能與ExcelDNA做到:
var activeCell = new ExcelReference(5, 5);
ExcelAsyncUtil.QueueAsMacro(() => XlCall.Excel(XlCall.xlcSelect, activeCell));
「ExcelAsyncUtil.QueueAsMacro」就可以跳過去,它取決於從中調用Excel命令上下文。如果你從另一個Excel函數中調用它 - 你應該用QueueAsMacro包裝它
相關問題
- 1. 如何選擇一個網格單元
- 2. 如何使用jQuery選擇(或:不)一個單元格範圍?
- 3. 如何使用TreeCursor在SWT樹中選擇單個單元格
- 4. 如何通過選定的ID選擇一個單元格。 SQL
- 5. 選擇下一個單元格JTable
- 6. QTableView強制一個單元格選擇
- 7. 檢測另一個單元格內的單元格選擇
- 8. 如何選擇與另一個單元格值匹配的單元格vba
- 9. 使用下拉菜單選擇一行表格單元格
- 10. 如何選擇一個字符串網格的多個單獨的單元格?
- 11. 如何獲得使用jQuery選擇表格單元格的值
- 12. nattable:如何禁用單個單元格選擇?
- 13. 如何禁用UITableView的單個單元格的選擇?
- 14. 使用UltraWinGrid在同一列中選擇多個單元格
- 15. 如何在WPF中選擇單元格時選擇DataGrid單元格內的TextBox?
- 16. 選擇一個表格單元格並讓多個單元格瞬間高亮
- 17. 如何從Excel中的單元格中選擇一個值
- 18. 如何選擇Excel VBA中的上一個活動單元格?
- 19. iOS:如何在UITest中選擇一個單元格?
- 20. 如何以編程方式選擇一個tableview單元格?
- 21. 如何在swift中一次只選擇兩個UITableview單元格
- 22. 如何在CellList中取消選擇一個單元格Gwt
- 23. 如何選擇列直到最後一個非空單元格
- 24. 如何選擇一個新的彩色jTable單元格?
- 25. 如何選擇SWT表的一個單元格
- 26. 使用SlickGrid選擇/焦點單元格
- 27. 使用uitableviewcellselectionstylenone選擇UITableView單元格
- 28. 從範圍中選擇一個單元格或選擇
- 29. 如何選擇整個行而不是單個單元格
- 30. 如何選擇單元格對象如何選擇
感謝您的迴應!在C#中,我無法訪問ExcelDnaUtil.Application上的範圍方法,因爲它是對象類型的。我應該輸入什麼類型? – Franchesca
哦,我明白了,我只是用動態:D – Franchesca
這行'XlCall.Excel(XlCall.xlfReftext,xlRef,True)'正在轟炸。我不打算從工作表函數中更改選定內容,但我從工作表函數中獲取了xlfCaller。這可能是一個問題嗎? – Franchesca