3
function ceva(fisier) %UNTITLED Summary of this function goes here % Detailed explanation goes here fisier = ['C:\Users\Hoteteu\Desktop\', fisier]; h = actxserver('Excel.Application'); set(h, 'Visible', 1); W = h.Workbooks.Add; Sheets = h.ActiveWorkBook.Sheets; items = {'VW','OPEL','AUDI','SKODA'}; if size(items,2)>3 %adaug size(items,2)-3 sheeturi for alfa=3:size(items,2)-1 Sheets.Add([], Sheets.Item(alfa)); end end for i=1:size(items,2) [~,var,~] = xlsread(fisier,items{i}); for a=2:size(var,1) for b=2:size(var,2) if ~isempty(var{a,b}) var{a,b}=['=hyperlink("', var{a,b},'","',var{a,1},' ',var{1,b},'")'];

matlab activex

Embed Size (px)

DESCRIPTION

Function for hyperlink with multiple sheets

Citation preview

Page 1: matlab activex

function ceva(fisier)

%UNTITLED Summary of this function goes here

% Detailed explanation goes here

fisier = ['C:\Users\Hoteteu\Desktop\', fisier];

h = actxserver('Excel.Application');

set(h, 'Visible', 1);

W = h.Workbooks.Add;

Sheets = h.ActiveWorkBook.Sheets;

items = {'VW','OPEL','AUDI','SKODA'};

if size(items,2)>3

%adaug size(items,2)-3 sheeturi

for alfa=3:size(items,2)-1

Sheets.Add([], Sheets.Item(alfa));

end

end

for i=1:size(items,2)

[~,var,~] = xlsread(fisier,items{i});

for a=2:size(var,1)

for b=2:size(var,2)

if ~isempty(var{a,b})

var{a,b}=['=hyperlink("', var{a,b},'","',var{a,1},' ',var{1,b},'")'];

else

var{a,b}=[var{a,1},' ',var{1,b}];

Page 2: matlab activex

end

end

end

temp = cell(size(var,2),size(var,1)-1);

temp(1,:)=var(2:end,1);

temp(2:end,:)=var(2:end,2:end)';

Sheets.Item(i).Activate;

Activesheet = h.Activesheet;

Activesheet.Name = items{i};

ActivesheetRange = get(Activesheet,'Range',['A1:' xlscol(size(temp,2)) num2str(size(temp,1))]);

set(ActivesheetRange, 'value', temp);

end

if ~exist('C:\Users\Hoteteu\Desktop\NEW for excel','dir')

mkdir('C:\Users\Hoteteu\Desktop\NEW for excel');

end

if ~exist('C:\Users\Hoteteu\Desktop\NEW for excel\New.xlsx','file')

W.SaveAs('C:\Users\Hoteteu\Desktop\NEW for excel\New.xlsx');

else

delete('C:\Users\Hoteteu\Desktop\NEW for excel\New.xlsx');

W.SaveAs('C:\Users\Hoteteu\Desktop\NEW for excel\New.xlsx');

end

W.Close;

h.Quit;

Page 3: matlab activex

h.delete;

end