Excel でコメントの背景を変更する方法

Excel でコメントの色を変更する方法

既定のコメントの背景色が必要ない場合、興味のある色に置き換えたいことがあるかもしれません。Excel でコメントボックスの背景色を変更する方法は?

以下のコードは、Aspose.Cells を使用して自分の選択したコメントに好きな背景色を追加する方法を案内します。

ここでは、サンプルファイル をご用意しています。このファイルは、以下のコードでワークブックオブジェクトを初期化するために使用されます。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String path = "";
//Initialize a new workbook.
Workbook book = new Workbook(path + "exmaple.xlsx");
// Accessing the newly added comment
com.aspose.cells.Comment comment = book.getWorksheets().get(0).getComments().get(0);
// change background color
Shape shape = comment.getCommentShape();
shape.getFill().getSolidFill().setColor(Color.getRed());
// Save the Excel file
book.save(path + "result.xlsx");

上記のコードを実行すると、出力ファイル が生成されます。

Excel でコメントに画像を挿入する方法

Microsoft Excel はスプレッドシートの見た目や感じを大幅にカスタマイズできます。コメントに背景画像を追加することも可能です。背景画像を追加することは見た目の選択肢であり、またブランディングを強化するためにも使用できます。

以下のサンプルコードは、Aspose.Cells API を使用して XLSX ファイルをゼロから作成し、画像背景のコメントをセル A1 に追加します。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = "";
// Create directory if it is not already present.
File file = new File(dataDir);
if(!file.exists())
file.mkdir();
// Instantiate a Workbook
Workbook workbook = new Workbook();
// Get a reference of comments collection with the first sheet
com.aspose.cells.CommentCollection comments = workbook.getWorksheets().get(0).getComments();
// Add a comment to cell A1
int commentIndex = comments.add(0, 0);
com.aspose.cells.Comment comment = comments.get(commentIndex);
comment.setNote("First note.");
comment.getFont().setName("Times New Roman");
// Load an image
String filename = dataDir + "image.jpg";
byte[] result = null;
java.nio.channels.FileChannel fc = null;
try {
fc = new java.io.RandomAccessFile(filename, "r").getChannel();
java.nio.MappedByteBuffer byteBuffer = fc.map(java.nio.channels.FileChannel.MapMode.READ_ONLY, 0,
fc.size()).load();
System.out.println(byteBuffer.isLoaded());
result = new byte[(int) fc.size()];
if (byteBuffer.remaining() > 0) {
byteBuffer.get(result, 0, byteBuffer.remaining());
}
} catch (IOException e) {
throw e;
} finally {
try {
fc.close();
} catch (IOException e) {
throw e;
}
}
// Set image data to the shape associated with the comment
comment.getCommentShape().getFill().setImageData(result);
// Save the workbook
String resDataDir = dataDir + "commentwithpicture1.out.xlsx";
workbook.save(resDataDir);