При работе в linux никогда не было проблем с буфером обмена, а в windows (2003) регулярно возникает ситуация, когда не удается получить CF_UNICODETEXT из буфера обмена, причем это касается только MS Office (2007), с браузером и редакторами txt проблем я не замечал. Проследить какую-либо закономерность не удалось. В Excel при копировании ячеек из одной и той же таблицы данные то удается получить, то не удается, причем, после того, как программа сообщает, что заполучит ь CF_UNICODETEXT из буфера не удается, информация из буфера нормально вставляется вручную. В Word также иногда наблюдается подобное поведение, но реже.
Может, кто-нибудь сталкивался? Мой код:
# Вставить из буфера обмена
def clipboard_paste():
cur_func=sys._getframe().f_code.co_name
if sys_type=='win':
try:
win32clipboard.OpenClipboard()
if win32clipboard.IsClipboardFormatAvailable(win32clipboard.CF_UNICODETEXT):
line=win32clipboard.GetClipboardData()
else:
line=err_mes_unavail
Warning(cur_func,mes.cf_text_failure)
win32clipboard.CloseClipboard()
line=str(line)
if line==None:
line=''
except:
line=err_mes_paste
Warning(cur_func,mes.clipboard_paste_failure)
else:
try:
line=pyperclip.paste()
except:
line=err_mes_paste
return line