Открытие/Активация Word Documents в макросе VBA

Сначала твой код работает на меня. Но добавили несколько решений с одинаковым выходом:

df = pd.DataFrame({'Ad_URL':['u1', 'u2', 'u3'], 'Title':['t1', 't2', 't3']})


def Ad_Link(df):
    return ('<a href="{}">{}</a>'.format(df['Ad_URL'],df['Title']))

df['Link'] = df[['Ad_URL','Title']].apply(lambda x:Ad_Link(x), axis=1)

#change variable in function to x
def Ad_Link1(x):
    return ('<a href="{}">{}</a>'.format(x['Ad_URL'],x['Title']))

df['Link1'] = df[['Ad_URL','Title']].apply(lambda x:Ad_Link1(x), axis=1)

#removed lambda function
def Ad_Link2(x):
    return ('<a href="{}">{}</a>'.format(x['Ad_URL'],x['Title']))

df['Link2'] = df.apply(Ad_Link2, axis=1)

#pass columns names to lambda function, changed function
def Ad_Link3(url, link):
    return ('<a href="{}">{}</a>'.format(url, link))

df['Link3'] = df.apply(lambda x: Ad_Link3(x['Ad_URL'],x['Title']), axis=1)

#only lambda function solution
df['Link4'] = df.apply(lambda x: '<a href="{}">{}</a>'.format(x['Ad_URL'], x['Title']), axis=1)

print (df)
  Ad_URL Title                 Link                Link1                Link2  \
0     u1    t1  <a href="u1">t1</a>  <a href="u1">t1</a>  <a href="u1">t1</a>   
1     u2    t2  <a href="u2">t2</a>  <a href="u2">t2</a>  <a href="u2">t2</a>   
2     u3    t3  <a href="u3">t3</a>  <a href="u3">t3</a>  <a href="u3">t3</a>   

                 Link3                Link4  
0  <a href="u1">t1</a>  <a href="u1">t1</a>  
1  <a href="u2">t2</a>  <a href="u2">t2</a>  
2  <a href="u3">t3</a>  <a href="u3">t3</a>  
10
задан Todd Main 31 July 2010 в 18:24
поделиться

2 ответа

У Вас есть ошибка здесь:

Document(origDoc).Activate

Должны быть Документы.

Да, можно активировать активный документ. Ничего не происходит затем.

Да, открытый документ становится активным. Если Вы не уверены, использовать Documents.Open(origDoc).Activate.

1
ответ дан 4 December 2019 в 01:58
поделиться

Вы не должны использовать объект ActiveDocument в первую очередь, за исключением случаев крайней необходимости, потому что он очень ненадежен. Предпочтительный подход будет следующим:

Documents(ActiveDocument.FullName).Close SaveChanges:=wdDoNotSaveChanges

Dim doc as Document
Set doc = Documents.Open(origDoc)        
With doc
    'Do work
End With
1
ответ дан 4 December 2019 в 01:58
поделиться
Другие вопросы по тегам:

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