필터 지우기
필터 지우기

Excel Range in specifies Sheet.

조회 수: 1 (최근 30일)
Aitor Vitoria
Aitor Vitoria 2016년 5월 17일
댓글: Rangan M K 2016년 5월 19일
Hi, with the following code in the file xxxx I write a name in the A3 range. This name is saved in the Book Scope (1) and not in the Sheet (2).
ex = actxserver('excel.application');
ex.Workbooks.Open(fullfile(pwd,'XXXXXXX.xlsx'));
ex.Range('A3').Name = 'RangeName';
ex.ActiveWorkbook.Save
ex.Quit
ex.release
I can write the name on a specifies sheet??
Thanks

채택된 답변

Rangan M K
Rangan M K 2016년 5월 17일
편집: Rangan M K 2016년 5월 17일
Hi, Just activating the particular sheet before adding range will solve it.
ex = actxserver('excel.application');
ex.Workbooks.Open(fullfile(pwd,'XXXXXXX.xlsx'));
Sheets = Excel.ActiveWorkBook.Sheets;
Sheet3 = get(Sheets, 'Item', 'Sheet3');
Sheet3.Activate
ex.Range('A3').Name = 'RangeName';
ex.ActiveWorkbook.Save
ex.Quit
ex.release
  댓글 수: 2
Aitor Vitoria
Aitor Vitoria 2016년 5월 17일
Hi Rangan, Thanks but with this code you are writing in the book and I want Write the name in the Sheet3.
Thanks
Rangan M K
Rangan M K 2016년 5월 19일
Hi, Aitor Vitoria It does write in Sheet3. ex = actxserver('excel.application');
ex.Workbooks.Open(fullfile(pwd,'XXXXXXX.xlsx'));-> Open file and get handle
Sheets = Excel.ActiveWorkBook.Sheets; -> Gets hadle of the Sheets
Sheet3 = get(Sheets, 'Item', 'Sheet3');->Get handle of Sheet3
Sheet3.Activate ->Activate sheet3
ex.Range('A3').Name = 'RangeName'; ->Give name to the range
ex.ActiveWorkbook.Save ->Save changes
ex.Quit
ex.release
Hope this is what you wanted

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Data Import from MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by