0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Excel操作

0
Posted at

■ウィンドウ枠の固定

 function freezePanes(filename, sheetName, freezeRows, freezeColumns)
% freezeRows    : 固定する先頭行数
% freezeColumns : 固定する左側列数
%
% 例:
% freezePanes("result.xlsx", "Data", 1, 0); % 1行目だけ固定
% freezePanes("result.xlsx", "Data", 1, 1); % 1行目とA列を固定
% freezePanes("result.xlsx", "Data", 2, 3); % 1~2行目とA~C列を固定

    excel = actxserver("Excel.Application");
    excel.Visible = false;
    excel.DisplayAlerts = false;

    fullFilename = fullfile(pwd, filename);

    try
        workbook = excel.Workbooks.Open(fullFilename);
        sheet = workbook.Worksheets.Item(sheetName);

        % ActiveWindowはアクティブなシートに対して設定される
        sheet.Activate();

        % 既存の固定・分割を解除
        excel.ActiveWindow.FreezePanes = false;
        excel.ActiveWindow.SplitRow = 0;
        excel.ActiveWindow.SplitColumn = 0;

        % 固定位置を設定
        excel.ActiveWindow.SplitRow = freezeRows;
        excel.ActiveWindow.SplitColumn = freezeColumns;

        % 枠を固定
        excel.ActiveWindow.FreezePanes = true;

        workbook.Save();
        workbook.Close(false);
    catch ME
        if exist("workbook", "var")
            workbook.Close(false);
        end
        rethrow(ME);

    end
end
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?