макрос для Excel в javascript
Подскажите пожалуйста как лучше переделать этот макрос на javascript
Sub test() With Application .UseSystemSeparators = True End With Dim LastCell As Range: Set LastCell = Range("B65536").End(xlUp).Offset(1) LastCell.FormulaR1C1 = "=SUM(R1C:R[-1]C)" LastCell.AutoFill LastCell.Resize(, 2) LastCell.EntireRow.Cells(1) = "Итог:" End Sub |
Может это глупый вопрос)
Подскажите тогда где почитать про это |
Цитата:
а что он делает то?) много чего есть в книге VBA и программирование в MS Office для пользователей |
Sub test()
With Application .UseSystemSeparators = True //устанавливает системный разделитель, чтобы у всех пользователей была "." между целой и дробной части в числах End With Dim LastCell As Range: Set LastCell = Range("B65536").End(xlUp).Offset(1) LastCell.FormulaR1C1 = "=SUM(R1C:R[-1]C)" LastCell.AutoFill LastCell.Resize(, 2) LastCell.EntireRow.Cells(1) = "Итог:" // находит последнее число в столбце, и в пустую ячейку записывает сумму столбца End Sub |
Цитата:
function test() {
with (Application) {
.UseSystemSeparators = true;
}
var LastCell = Range("B65536").End(xlUp).Offset(1);
LastCell.FormulaR1C1 = "=SUM(R1C:R[-1]C)";
LastCell.AutoFill LastCell.Resize(, 2);
LastCell.EntireRow.Cells(1) = "Итог:";
}
|
Спасибо большое!
|
<html>
<head> <input type='button' value='Excel'; onClick="javascript: var xls = new ActiveXObject ( 'Excel.Application' ); xls.visible = true; var newBook = xls.Workbooks.Add; newBook.Worksheets.Add; newBook.Worksheets(1).Activate; newBook.Worksheets(1).Cells(1,1).value='1.25, 3.82'; newBook.Worksheets(1).Cells(2,1).value='2.1, 1'; newBook.Worksheets(1).Cells(1,2).value='1, 4'; newBook.Worksheets(1).Cells(2,2).value='10 , 12'; newBook.Worksheets(1).Name='WorkSheet from Javascript'; function test() { with (Application) { .UseSustemSeparators = true; } var LastCell = Range('B65536').End(xlUp).Offset(1); LastCell.FormulaR1C1 = '=SUM(R1C:R[-1]C)'; LastCell.AutoFill LastCell.Resize(, 2); LastCell.EntireRow.Cells(1) = 'Итог:'; } " // newBook.Worksheets(1).SaveAs('C:\\temp\\TEST2.XLS' ); </head> </html> как его модернизировать?) |
Цитата:
<html>
<head>
<title>Excel</title>
<script>
function test() {
var xls = new ActiveXObject ( 'Excel.Application' );
xls.visible = true;
var newBook = xls.Workbooks.Add;
newBook.Worksheets.Add;
newBook.Worksheets(1).Activate;
newBook.Worksheets(1).Cells(1,1).value='1.25, 3.82';
newBook.Worksheets(1).Cells(2,1).value='2.1, 1';
newBook.Worksheets(1).Cells(1,2).value='1, 4';
newBook.Worksheets(1).Cells(2,2).value='10 , 12';
newBook.Worksheets(1).Name='WorkSheet from Javascript';
with (Application) {
.UseSustemSeparators = true;
}
var LastCell = Range('B65536').End(xlUp).Offset(1);
LastCell.FormulaR1C1 = '=SUM(R1C:R[-1]C)';
LastCell.AutoFill LastCell.Resize(, 2);
LastCell.EntireRow.Cells(1) = 'Итог:';
}
</script>
</head>
<body>
<input type='button' value='Excel' onClick="test()">
</body>
</html>
и лучше все это запихнуть в HTML Application (.hta), чтобы никаких запросов на разрешение выполнения ActiveX-объектов не появлялось... |
Цитата:
|
Цитата:
в 22 строке все так и должно быть даже на VBA? LastCell.AutoFill LastCell.Resize(, 2); AutoFill() это метод для автоматического заполнения диапазона [читать здесь], и в скобках перед запятой наверно тоже цифорки не хватает [читать здесь] LastCell.AutoFill(); LastCell.Resize(3, 2); |
| Часовой пояс GMT +3, время: 08:47. |