シートとタブの表示・非表示をC++で行う
ワークシートの表示と非表示
Excelファイルには1つ以上のワークシートが含まれることがあります。Excelファイルを作成するときには、作業するExcelファイルにワークシートを追加します。Excelファイル内の各ワークシートは、独自のデータや書式設定などを持つため、他のワークシートから独立しています。開発者は時々、Excelファイル内で特定のワークシートを非表示にし、他のワークシートを表示したい場合があります。そのため、Aspose.Cellsは開発者がExcelファイル内のワークシートの表示を制御することを可能にします。
Aspose.Cellsは、Excelファイルを表すクラスWorkbookを提供します。Workbookクラスには、Excelファイル内の各ワークシートにアクセスできるWorksheetsコレクションが含まれています。
ワークシートはWorksheetクラスによって表されます。Worksheetクラスは、ワークシートを管理するためのさまざまなプロパティとメソッドを提供します。ワークシートの表示状態を制御するには、WorksheetクラスのIsVisibleプロパティを使用します。IsVisibleはBoolean型のプロパティであり、trueまたはfalseの値しか保存できません。
ワークシートを表示する
WorksheetクラスのIsVisibleプロパティをtrueに設定して、ワークシートを表示します。
ワークシートを非表示にする
WorksheetクラスのIsVisibleプロパティをfalseに設定して、ワークシートを非表示にします。
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input Excel file
U16String inputFilePath = srcDir + u"book1.xls";
// Create workbook from file
Workbook workbook(inputFilePath);
// Access the first worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Hide the first worksheet of the Excel file
worksheet.SetIsVisible(false);
// Save the modified Excel file in default (Excel 2003) format
U16String outputFilePath = outDir + u"output.out.xls";
workbook.Save(outputFilePath);
std::cout << "Worksheet hidden and file saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
タブの表示と非表示
Microsoft Excelの下部をよく見ると、いくつかのコントロールが表示されます。これには次のものが含まれます:
- シートタブ。
- タブのスクロールボタン。
シートタブはExcelファイル内のワークシートを表します。任意のタブをクリックするとそのワークシートに切り替えることができます。ワークブック内にワークシートが多いほど、シートタブも多く表示されます。Excelファイルに多くのワークシートが含まれている場合は、それらをナビゲートするためのボタンが必要になります。そのため、Microsoft Excelはシートタブのスクロールボタンを提供しています。
Aspose.Cellsを使用すると、開発者はExcelファイル内のシートタブとタブのスクロールボタンの表示を制御できます。
Aspose.Cellsは、Excelファイルを表すWorkbookクラスを提供します。Workbookクラスは、Excelファイルを管理するためのさまざまなプロパティとメソッドを提供します。Excelファイルのタブの表示状態を制御するには、開発者はWorkbookクラスのWorkbookSettings.GetShowTabs()プロパティを使用できます。WorkbookSettings.GetShowTabs()はBoolean型のプロパティであり、trueまたはfalseの値しか保存できません。
タブを表示する
WorkbookクラスのWorkbookSettings.GetShowTabs()プロパティをtrueに設定してタブを表示します。
タブを非表示にする
WorkbookクラスのWorkbookSettings.GetShowTabs()プロパティをfalseに設定して、Excelファイルのタブを非表示にします。
以下は、Excelファイル(book1.xls)を開き、そのタブを非表示にして修正したファイルをoutput.xlsとして保存する完全な例です。コードの実行後、ワークブックのタブが非表示になっていることが確認できます。
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input Excel file
U16String inputFilePath = srcDir + u"book1.xls";
// Path of output Excel file
U16String outputFilePath = outDir + u"output.xls";
// Create workbook
Workbook workbook(inputFilePath);
// Get workbook settings
WorkbookSettings settings = workbook.GetSettings();
// Hiding the tabs of the Excel file
settings.SetShowTabs(false);
// Shows the tabs of the Excel file
// settings.SetShowTabs(true);
// Save the modified Excel file
workbook.Save(outputFilePath);
std::cout << "Excel file modified successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
タブバーの幅を制御する
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input Excel file
U16String inputFilePath = srcDir + u"book1.xls";
// Path of output Excel file
U16String outputFilePath = outDir + u"output.xls";
// Create workbook
Workbook workbook(inputFilePath);
// Get workbook settings
WorkbookSettings settings = workbook.GetSettings();
// Show tabs in the Excel file
settings.SetShowTabs(true);
// Adjust the sheet tab bar width
settings.SetSheetTabBarWidth(800);
// Save the modified Excel file
workbook.Save(outputFilePath);
std::cout << "Excel file modified successfully!" << std::endl;
Aspose::Cells::Cleanup();
}