Страница 1 из 1
					
				xlSetCellFormula проблемы с языками
				Добавлено: 17 июн 2006, 18:56
				 dp
				Горе... Помоги нам кто чем может...  
 
На офисе стоят вперемешку офисы на английском языке и на русском.
И оказывается что формулы для экселя "языкозависимые"
т.е. "русский" эксел не понимает '=SUM()', а "английский" '=СУММ()'
 
 
спрашивается - как можно определить "язык" экселя или как проссумировать диапазоны каким-либо способом не используя языкозависимые формулы...
суммировать в vip'e желательно не предлагать - потому как том что пишу это проблематично, да и пользователь должен иметь возможность откорретировать данные в отчете перед выводом на печать
 
			 
			
					
				
				Добавлено: 19 июн 2006, 05:51
				 Hmyrii
				помоему самый логичный и правельный вариант решения это набрасать макрос которым будет реализована твоя функция суммы или какая либо другая ф-ция
уж VisualBasic на точно от язычной версии продукта не зависит
в данном случае я так полгаю из vip-а заполняется екселевский шаблон, вот и накидай в нем макрос, а пользователь потом сможет что то править если надо
			 
			
					
				
				Добавлено: 19 июн 2006, 06:30
				 homak
				может попробовать самому посчитать нужное значение в собственную переменную, а потом уже вывести её значение ...  

 
			 
			
					
				
				Добавлено: 19 июн 2006, 17:14
				 dp
				Hmyrii
да не получится... потому как сумма должна изменяться с изменением значений в колонках...
или я не знаю как повесить макрос, чтобы он постоянно работал, отслуживая изменения на листе...хотя он наверное торрррмозить будет аж жуть
			 
			
					
				
				Добавлено: 20 июн 2006, 05:00
				 Hmyrii
				да нет же все получится
в екселе есть ф-ции, куча разных и в том числе СУММ (или если англоязычный ексель то SUM)
так вот ты пишешь макрос который будет реализовывать еще одну ф-цию, например MyMultylanguageSumm(a,b) - где a и b входные параметры, то есть от куда по кудо суммировать ячйеки
и все, на этом писанина макроса заканчивается. таким образом у тебя в наборе будет еще одна ф-цию собственно говоря не чем не отличающаяся от стандартных
далее ты вызываешь эту ф-цию так же как и все стандартные, можешь из VIP-а, можешь потом при правке шаблона, вставить ее куда надо
при этом она как и стандартная сумма будет работать, то есть меняешь какую то ячейку из ее диапазон, и она сомо собой пересчитыавет
тормозить не будет, проверенно, приходилось жуткие формулы воять так как стандартными обойтись просто не удавалось
источников по визуал бейсику в инете навалом, так что дерзайте и  думаю СЧАСТЬЕ НЕИЗБЕЖНО КАК ВОСХОД СОЛНЦА  

 
			 
			
					
				
				Добавлено: 20 июн 2006, 12:03
				 dp
				Hmyrii
спасибо - буду пробывать
			 
			
					
				
				Добавлено: 13 янв 2010, 20:01
				 Ksenia
				Подниму еще раз темку. Проблема так и соталась на 8.1. Пишу и тестирую отчет под русский офис xlSetCellFormula('=СУММ , а у заказчика удалённого есть и англоязычный и русскоязычный офисы, т.е. решать броблему макросом? А нельзя ли в коде вычислить функцией какой используется офис и в зависимости от результата писать СУММ или SUM?
			 
			
					
				
				Добавлено: 13 янв 2010, 21:00
				 galover
				Если Ofiice 2003 или выше, то лучше писать формулы на англицком, их любой офис поймет.  
http://www.tyumbit.ru/gal_forum/viewtopic.php?t=9236 
			 
			
					
				
				Добавлено: 14 янв 2010, 14:02
				 Ksenia
				спасибо! эту темку не отследила.