Skip to content

Commit

Permalink
added Server support for Range.activate
Browse files Browse the repository at this point in the history
  • Loading branch information
fzumstein committed May 18, 2024
1 parent 96c8ef6 commit 277c97c
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 3 deletions.
4 changes: 4 additions & 0 deletions xlwings/addin/Remote.bas
Original file line number Diff line number Diff line change
Expand Up @@ -701,6 +701,10 @@ Sub rangeInsert(wb As Workbook, action As Dictionary)
End If
End Sub

Sub rangeSelect(wb As Workbook, action As Dictionary)
GetRange(wb, action).Select
End Sub

Sub addTable(wb As Workbook, action As Dictionary)
Dim hasHeaders As Integer
If action("args")(2) = True Then
Expand Down
Binary file modified xlwings/addin/xlwings.xlam
Binary file not shown.
4 changes: 4 additions & 0 deletions xlwings/js/xlwings.js
Original file line number Diff line number Diff line change
Expand Up @@ -521,6 +521,10 @@ function rangeInsert(workbook, action) {
}
}

function rangeSelect(workbook, action) {
getRange(workbook, action).activate();
}

function addTable(workbook, action) {
throw "NotImplemented: addTable";
}
Expand Down
11 changes: 8 additions & 3 deletions xlwings/js/xlwings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -628,6 +628,11 @@ function rangeInsert(workbook: ExcelScript.Workbook, action: Action) {
}
registerCallback(rangeInsert);

function rangeSelect(workbook: ExcelScript.Workbook, action: Action) {
getRange(workbook, action).select();
}
registerCallback(rangeSelect);

function addTable(workbook: ExcelScript.Workbook, action: Action) {
let mytable = workbook
.getWorksheets()
Expand Down Expand Up @@ -707,18 +712,18 @@ registerCallback(sheetDelete);

function sheetClear(workbook: ExcelScript.Workbook, action: Action) {
const sheet = workbook.getWorksheets()[action.sheet_position];
sheet.getRanges().clear();
sheet.getRanges().clear();
}
registerCallback(sheetClear);

function sheetClearFormats(workbook: ExcelScript.Workbook, action: Action) {
const sheet = workbook.getWorksheets()[action.sheet_position];
sheet.getRanges().clear(ExcelScript.ClearApplyTo.formats);
sheet.getRanges().clear(ExcelScript.ClearApplyTo.formats);
}
registerCallback(sheetClearFormats);

function sheetClearContents(workbook: ExcelScript.Workbook, action: Action) {
const sheet = workbook.getWorksheets()[action.sheet_position];
sheet.getRanges().clear(ExcelScript.ClearApplyTo.contents);
sheet.getRanges().clear(ExcelScript.ClearApplyTo.contents);
}
registerCallback(sheetClearContents);
5 changes: 5 additions & 0 deletions xlwings/pro/_xlremote.py
Original file line number Diff line number Diff line change
Expand Up @@ -781,6 +781,11 @@ def insert(self, shift=None, copy_origin=None):
# copy_origin is only supported by VBA clients
self.append_json_action(func="rangeInsert", args=[shift, copy_origin])

def select(self):
self.append_json_action(
func="rangeSelect",
)

def __len__(self):
nrows, ncols = self.shape
return nrows * ncols
Expand Down
6 changes: 6 additions & 0 deletions xlwingsjs/src/xlwings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,7 @@ let funcs = {
runMacro: runMacro,
rangeDelete: rangeDelete,
rangeInsert: rangeInsert,
rangeSelect: rangeSelect,
rangeClearContents: rangeClearContents,
rangeClearFormats: rangeClearFormats,
rangeClear: rangeClear,
Expand Down Expand Up @@ -758,6 +759,11 @@ async function rangeInsert(context: Excel.RequestContext, action: Action) {
}
}

async function rangeSelect(context: Excel.RequestContext, action: Action) {
let range = await getRange(context, action);
range.select();
}

async function addTable(context: Excel.RequestContext, action: Action) {
let worksheets = context.workbook.worksheets.load("items");
await context.sync();
Expand Down

0 comments on commit 277c97c

Please sign in to comment.