Удалить пустые строки

Вы не можете «поднять» существующий процесс. Повышенные процессы в UAC имеют различный токен с другим LUID, другим обязательным уровнем целостности и различным членством в группе. Этот уровень изменений не может быть выполнен в текущем процессе - и это будет проблемой безопасности, если это может произойти.

Вам нужно запустить второй процесс, который будет работать, или создав COM-объект, который работает в повышенном dllhost.

http://msdn.microsoft.com/en-us/library/bb756922.aspx дает пример функции «RunAsAdmin» и функция «CoCreateInstanceAsAdmin».

EDIT: Я только что увидел «Delphi» в вашем названии. Все, что я перечисляю, очевидно, является родным, но если Delphi предоставляет доступ к функциям, подобным ShellExecute, вы должны иметь возможность адаптировать код из ссылки.

1
задан Tom 18 January 2019 в 15:04
поделиться

1 ответ

Удалить ниже последней строки

Вместо Delete вы можете использовать Clear или, если вы хотите сохранить форматирование ниже последней строки, вы можете использовать ClearContents.

Код

Option Explicit

Sub DelRows()

    Const cSheet As Variant = "Sheet1"  ' Worksheet Name/Index
    Const cColumn As Variant = "G"      ' Cirteria Column Letter/Number

    Dim lastR As Long   ' Last Row

    With ThisWorkbook.Worksheets(cSheet)
        lastR = .Cells(.Rows.Count, cColumn).End(xlUp).Row
        .Range(.Cells(lastR + 1, 1), .Cells(.Rows.Count, 1)).EntireRow.Delete
    End With

End Sub
0
ответ дан VBasic2008 18 January 2019 в 15:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: