1

голосов
1

ответ
822

Просмотры

Получить адрес измененной ячейки

Я пытаюсь вызвать макрос (в зависимости от адреса ячейки) всякий раз, когда какой-либо DDE связаны значение ячейки изменяется. Я попытался Workbook.SetLinkOnData и Worksheet_Calculate события (с фиктивной формулой, чтобы вызвать событие), но проблема в том, что ни один из них не возвращает адрес обновленной ячейки. Так есть ли способ, чтобы получить адрес обновленной ячейки, чтобы использовать его с моим макро? Это мой макрос Public Sub UpdateCell (ByVal strTargetAddress As String) «Некоторый код End Sub Спасибо и заранее.
user3286479
1

голосов
1

ответ
35

Просмотры

Как я могу определить, находится ли в день в течение последней недели или нет?

Учитывая дату, как я могу определить, находится ли в этот день в течение последней недели или не используя VBA?
user3286479
2

голосов
1

ответ
930

Просмотры

Закройте текстовый документ, который уже открыт

Я пытаюсь проверить, является ли конкретное слово документ открыт или нет. Если открыто, то закройте его и затем снова первый раз, и если нет, то просто открыть его. Проблема заключается в том, что я всегда получаю плохое имя файловых 4160 ошибки при попытке закрыть документ. Будет ли кто-нибудь плз скажите мне, где именно проблема в моем коде. Спасибо и заранее. Тусклое wdApp как объект Тусклого myDoc As Word.Document Set wdApp = GetObject (, "Word.Application") Если IsFileOpen ( "C: \ Письма \ TemporaryLetter.docx") Тогда wdApp.Documents ( "C: \ Letters \ TemporaryLetter.docx ") .close End If С wdApp .Visible = True .WindowState = 2 End With Set myDoc = wdApp.Documents.Open (" C: \ Letters \ TemporaryLetter.docx ")
user3286479
1

голосов
1

ответ
87

Просмотры

VBA - Получить номер строки ячейки с определенным значением в именованный диапазон

Есть ли способ, чтобы найти строку в ячейке, содержащей определенное значение в именованный диапазон (таблица)? У меня есть таблица с именем «Таблица1» от С4 до D10 .. Я хочу вернуть номер строки ячейки в колонке с, которая содержит значение «CCC» .. Это значение находится на третьем ряду (C6) .. Так Я хочу код, чтобы вернуть номер «3», что означает третью строку в таблице «Table1», а не число «6», что означает, что он находится в ячейке «C6». Заранее спасибо.
user3286479
1

голосов
1

ответ
14k

Просмотры

Проверьте, если определенный PDF файл открыть и закрыть его

Я использую этот код, чтобы экспортировать файл в формате PDF из текстового документа. Перед экспортом мне нужно проверить сначала, если файл с таким же именем уже открыт, и если да, то закрыть его экспорт. Я пробовал много вещей, но не везло. Dim adbApp Как Acrobat.AcroApp Dim adbDoc Как Acrobat.AcroAVDoc Dim adbPageView As Acrobat.AcroAVPageView Set adbApp = CreateObject ( "AcroExch.App") Установите adbDoc = CreateObject ( "AcroExch.AVDoc") Если adbDoc.Open ( "C: \ Current Письмо Preview.pdf», "") = True Then '==> Если файл не открыт, то эта линия открывает его adbDoc.Close (1)' ==> Затем закрыть его Если adbDoc ничего после этого«==> Безразлично «т понять, что я хочу, чтобы проверить, какие PDF-файлы открыты adbApp.Exit End If Set adbApp = Nothing End If Dim WordApp Как Word.Application Dim wordDoc As Word. Документ Если IsFileOpen ( "C: \ TemporaryLetter.docx") Тогда Set WordApp = GetObject ( "Word.Application") wordApp.Documents ( "C: \ TemporaryLetter.docx"). Close «==> Есть ли что-то подобное относительно акробата IAC? Else Set WordApp = CreateObject ( "Word.Application") С WordApp .Visible = True .WindowState = 2 End With End If Set wordDoc = wordApp.Documents.Open ( "C: \ TemporaryLetter.docx") wordDoc.ExportAsFixedFormat OutputFileName: = "C: \ Current Letter Preview.pdf", _ ExportFormat: = wdExportFormatPDF wordDoc.Close SaveChanges: = wdDoNotSaveChanges не указан wordDoc = Ничего Если wordDoc ничего после этого wordApp.Quit End If Set WordApp = Nothing Вызов adbDoc.Open ( "C: \ Текущее Письмо Preview.pdf», "") adbDoc.
user3286479
1

голосов
1

ответ
86

Просмотры

VBA - Определение переменного диапазона через зацикливание

Я интересно, если это возможно, чтобы определить переменные диапазона через FOR..NEXT цикл? Что-то вроде того, что Public Sub DefineRanges () Dim I As Long Dim rngLine1, rngLine2 As Range Для я = 1 К 2 Set Replace ( "rngLinex", "х", я) = ThisWorkbook.Sheets ( "Лист1"). Range (» А "и я) Далее я End Sub или как что Public Sub DefineRanges () Dim I As Long Dim rngLine1, rngLine2 As Range Для я = 1 К 2 Set rngLine & г = ThisWorkbook.Sheets ( "Лист1"). Range (" А»и я) Далее я End Sub Спасибо заранее.
user3286479