Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 8, 2015 10:10:45

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Python 3 и буфер обмена MS Office

При работе в 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

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version