Cumhur Ata
Cumhur Ata

Reputation: 809

How to move activesheet to the end of sheets in Lotusscript

I have an excel file which has already been created. I can open thet excel file then what i want to do is just a add new worksheet then move that worksheet to the end. I found excel VBA codes but I could not convert to Lotusscript. :((

Set xlApp = CreateObject("Excel.application")
xlApp.Visible = True   
xlApp.Workbooks.Open(fileN) 
sheetcount = xlApp.workbooks(1).Worksheets.Count
Set lastsheet = xlapp.workbooks(1).Worksheets(sheetcount)
Set xlsheet = xlapp.workbooks(1).Worksheets.Add(lastsheet)
xlsheet.Name = sheetName 
xlapp.workbooks(1).Worksheets(sheetName).Move(2)

I think This code below will help me but I could not write correct syntax.

Sub MoverToEnd()
    ActiveSheet.Move _
    After: = ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
End Sub

Upvotes: 1

Views: 665

Answers (1)

Duston
Duston

Reputation: 1641

This will ultimately solve your problem. Change the sixth line to:

Set xlsheet = xlapp.workbooks(1).Worksheets.Add(,lastsheet)

That will insert the new sheet at the end and return you a Worksheet object so you can change the name.

If you need to use .move(), you have to either capture a return value or use a CALL, for example:

call xlapp.workbooks(1).Worksheets.Move(,lastsheet)

By the way, the parameter of Move isn't an integer, it's a worksheet object.

Upvotes: 2

Related Questions