Я не знаю, как определить максимальный размер без итерации, но вы можете определить, работает ли данный размер холста, заполнив пиксель, а затем прочитав цвет обратно. Если холст не отображен, тогда цвет, который вы получите, не будет соответствовать. W
частичный код:
function rgbToHex(r, g, b) {
if (r > 255 || g > 255 || b > 255)
throw "Invalid color component";
return ((r << 16) | (g << 8) | b).toString(16);
}
var test_colour = '8ed6ff';
working_context.fillStyle = '#' + test_colour;
working_context.fillRect(0,0,1,1);
var colour_data = working_context.getImageData(0, 0, 1, 1).data;
var colour_hex = ("000000" + rgbToHex(colour_data[0], colour_data[1], colour_data[2])).slice(-6);
Range("A1:A")
не является допустимым адресом, потому что номер строки в конце отсутствует.
Это должно быть что-то вроде ...
Range("A" & Rows.Count).End(xlUp).Row
, соответственно, должно быть
SendTo = SendTo & Range("A" & BuildAddy).Value & ";"
. Также вы должны указать для всех Range(…)
, в каком листе находится диапазон. Как и Worksheets("Emails").Range(…)
, в противном случае Excel не может этого знать.