Результаты поиска
krosav4ig
Дата: Четверг, 06.12.2018, 00:15 |
Сообщение № 1721 | Тема: Условное форматирование выходных дней в графике
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
для выходных СБ, ВС и праздников можно проще Код
=РАБДЕНЬ(B$7-1;1;$AI$1:$AI$14)>B$7
для выходных СБ, ВС и праздников можно проще Код
=РАБДЕНЬ(B$7-1;1;$AI$1:$AI$14)>B$7
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение для выходных СБ, ВС и праздников можно проще Код
=РАБДЕНЬ(B$7-1;1;$AI$1:$AI$14)>B$7
Автор - krosav4ig Дата добавления - 06.12.2018 в 00:15
krosav4ig
Дата: Четверг, 06.12.2018, 02:01 |
Сообщение № 1722 | Тема: Importxml как прописать xPath для собра цен
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
как-то такКод
=IMPORTXML("https://www.taen.ru/catalog/vanny/vanny-akrilovye/roca-easy-1707545-bez-gidromassazha/";"//*[@itemprop='price']/@content")
как-то такКод
=IMPORTXML("https://www.taen.ru/catalog/vanny/vanny-akrilovye/roca-easy-1707545-bez-gidromassazha/";"//*[@itemprop='price']/@content")
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение как-то такКод
=IMPORTXML("https://www.taen.ru/catalog/vanny/vanny-akrilovye/roca-easy-1707545-bez-gidromassazha/";"//*[@itemprop='price']/@content")
Автор - krosav4ig Дата добавления - 06.12.2018 в 02:01
krosav4ig
Дата: Суббота, 08.12.2018, 06:44 |
Сообщение № 1723 | Тема: Importxml как прописать xPath для собра цен
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Суббота, 08.12.2018, 06:45
Ответить
krosav4ig
Дата: Суббота, 08.12.2018, 17:32 |
Сообщение № 1724 | Тема: Как добавить кнопку - в контекстное меню
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
[vba]Код
Sub Remove_() On Error Resume Next With CommandBars("Text") Do .FindControl(, 1).Delete Loop Until Err.Number End With End Sub
[/vba]
[vba]Код
Sub Remove_() On Error Resume Next With CommandBars("Text") Do .FindControl(, 1).Delete Loop Until Err.Number End With End Sub
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение [vba]Код
Sub Remove_() On Error Resume Next With CommandBars("Text") Do .FindControl(, 1).Delete Loop Until Err.Number End With End Sub
[/vba] Автор - krosav4ig Дата добавления - 08.12.2018 в 17:32
krosav4ig
Дата: Воскресенье, 09.12.2018, 02:37 |
Сообщение № 1725 | Тема: Отправка письма когда значения в одной ячейке выше чем в дру
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
ТАМИК , вы бы хоть табличку показали
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение ТАМИК , вы бы хоть табличку показалиАвтор - krosav4ig Дата добавления - 09.12.2018 в 02:37
krosav4ig
Дата: Понедельник, 10.12.2018, 23:02 |
Сообщение № 1726 | Тема: Подсчет количества одинаковых ячеек
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Здравствуйте Добавляем заголовок столбца и строим сводную
Здравствуйте Добавляем заголовок столбца и строим сводную krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Здравствуйте Добавляем заголовок столбца и строим сводную Автор - krosav4ig Дата добавления - 10.12.2018 в 23:02
krosav4ig
Дата: Среда, 12.12.2018, 17:10 |
Сообщение № 1727 | Тема: Принудительное обновление Importxml
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Я тут немного поизвращался над кодом [vba]Код
function RefreshImports() { var s=SpreadsheetApp, e=s.getUi(), t=e.prompt("","Укажите Spreadsheet id",e.ButtonSet.OK_CANCEL); if(t.getSelectedButton()==e.Button.OK) { var r=t.getResponseText(), n=LockService.getScriptLock(); n.tryLock(5e3) && (SpreadsheetApp.openById(r).getSheets().forEach(function(t){ var r=/.*[^a-z0-9]import(?:xml|data|feed|html|range)\(.*/gi, n=[t.getDataRange()].map(function(e){ return {r:e.getRow(),c:e.getColumn(),f:e.getFormulas()} })[0], e = [].concat.apply([],n.f.map(function(e,r){ return e.map(function(e,t){ return {f:e,r:r+n.c,c:t+n.r}}) })).filter(function(e){return -1!==e.f.search(r)}); e.forEach(function(e){t.getRange(e.r,e.c).setFormula("")}); Utilities.sleep(5e3); e.forEach(function(e){t.getRange(e.r,e.c).setFormula(e.f)}) }),s.flush(),n.releaseLock()) } }
[/vba]
Я тут немного поизвращался над кодом [vba]Код
function RefreshImports() { var s=SpreadsheetApp, e=s.getUi(), t=e.prompt("","Укажите Spreadsheet id",e.ButtonSet.OK_CANCEL); if(t.getSelectedButton()==e.Button.OK) { var r=t.getResponseText(), n=LockService.getScriptLock(); n.tryLock(5e3) && (SpreadsheetApp.openById(r).getSheets().forEach(function(t){ var r=/.*[^a-z0-9]import(?:xml|data|feed|html|range)\(.*/gi, n=[t.getDataRange()].map(function(e){ return {r:e.getRow(),c:e.getColumn(),f:e.getFormulas()} })[0], e = [].concat.apply([],n.f.map(function(e,r){ return e.map(function(e,t){ return {f:e,r:r+n.c,c:t+n.r}}) })).filter(function(e){return -1!==e.f.search(r)}); e.forEach(function(e){t.getRange(e.r,e.c).setFormula("")}); Utilities.sleep(5e3); e.forEach(function(e){t.getRange(e.r,e.c).setFormula(e.f)}) }),s.flush(),n.releaseLock()) } }
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Среда, 12.12.2018, 19:37
Ответить
Сообщение Я тут немного поизвращался над кодом [vba]Код
function RefreshImports() { var s=SpreadsheetApp, e=s.getUi(), t=e.prompt("","Укажите Spreadsheet id",e.ButtonSet.OK_CANCEL); if(t.getSelectedButton()==e.Button.OK) { var r=t.getResponseText(), n=LockService.getScriptLock(); n.tryLock(5e3) && (SpreadsheetApp.openById(r).getSheets().forEach(function(t){ var r=/.*[^a-z0-9]import(?:xml|data|feed|html|range)\(.*/gi, n=[t.getDataRange()].map(function(e){ return {r:e.getRow(),c:e.getColumn(),f:e.getFormulas()} })[0], e = [].concat.apply([],n.f.map(function(e,r){ return e.map(function(e,t){ return {f:e,r:r+n.c,c:t+n.r}}) })).filter(function(e){return -1!==e.f.search(r)}); e.forEach(function(e){t.getRange(e.r,e.c).setFormula("")}); Utilities.sleep(5e3); e.forEach(function(e){t.getRange(e.r,e.c).setFormula(e.f)}) }),s.flush(),n.releaseLock()) } }
[/vba] Автор - krosav4ig Дата добавления - 12.12.2018 в 17:10
krosav4ig
Дата: Четверг, 13.12.2018, 00:04 |
Сообщение № 1728 | Тема: Рассчитать конец работы с учетом праздников (дата, время)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Немассивная монстроформула (в диспетчере имен)Код
=ЕСЛИ(BB<0;AA+D3+(ЧАС(AA+D3)>12)/24;РАБДЕНЬ(AA;1+ОТБР(BB/"8:");ПР)+"9:"+ОСТАТ(BB;"8:")+(ОСТАТ(BB;"8:")>4/24)/24)
[vba]Код
AA =ЕСЛИ(РАБДЕНЬ(!E3-1;1;ПР)>!E3;РАБДЕНЬ(!E3;1;ПР)+"9:";!E3)
[/vba] [vba]Код
BB =!D3-"18:"+ОСТАТ(AA;1)+(ЧАС(AA)<14)/24
[/vba] [vba][/vba]
Немассивная монстроформула (в диспетчере имен)Код
=ЕСЛИ(BB<0;AA+D3+(ЧАС(AA+D3)>12)/24;РАБДЕНЬ(AA;1+ОТБР(BB/"8:");ПР)+"9:"+ОСТАТ(BB;"8:")+(ОСТАТ(BB;"8:")>4/24)/24)
[vba]Код
AA =ЕСЛИ(РАБДЕНЬ(!E3-1;1;ПР)>!E3;РАБДЕНЬ(!E3;1;ПР)+"9:";!E3)
[/vba] [vba]Код
BB =!D3-"18:"+ОСТАТ(AA;1)+(ЧАС(AA)<14)/24
[/vba] [vba][/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Четверг, 13.12.2018, 00:06
Ответить
Сообщение Немассивная монстроформула (в диспетчере имен)Код
=ЕСЛИ(BB<0;AA+D3+(ЧАС(AA+D3)>12)/24;РАБДЕНЬ(AA;1+ОТБР(BB/"8:");ПР)+"9:"+ОСТАТ(BB;"8:")+(ОСТАТ(BB;"8:")>4/24)/24)
[vba]Код
AA =ЕСЛИ(РАБДЕНЬ(!E3-1;1;ПР)>!E3;РАБДЕНЬ(!E3;1;ПР)+"9:";!E3)
[/vba] [vba]Код
BB =!D3-"18:"+ОСТАТ(AA;1)+(ЧАС(AA)<14)/24
[/vba] [vba][/vba] Автор - krosav4ig Дата добавления - 13.12.2018 в 00:04
krosav4ig
Дата: Четверг, 13.12.2018, 03:43 |
Сообщение № 1729 | Тема: Рассчитать конец работы с учетом праздников (дата, время)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
за место того, чтобы получилось 14 часов 10 минут, получается 15 часов 10 минут.
исправил, в ячейкеКод
=ЕСЛИ(BB<0;AA+D3+((ЧАС(AA+D3)>12)-(ЧАС(AA)>13))/24;РАБДЕНЬ(AA;1+ОТБР(BB/"8:");ПР)+"9:"+ОСТАТ(BB;"8:")+(ОСТАТ(BB;"8:")>4/24)/24)
работы продолжается вечером до половины 7-ого.
тоже, вроде, само собой отпало (если нет - покажите в файле)
за место того, чтобы получилось 14 часов 10 минут, получается 15 часов 10 минут.
исправил, в ячейкеКод
=ЕСЛИ(BB<0;AA+D3+((ЧАС(AA+D3)>12)-(ЧАС(AA)>13))/24;РАБДЕНЬ(AA;1+ОТБР(BB/"8:");ПР)+"9:"+ОСТАТ(BB;"8:")+(ОСТАТ(BB;"8:")>4/24)/24)
работы продолжается вечером до половины 7-ого.
тоже, вроде, само собой отпало (если нет - покажите в файле)krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Четверг, 13.12.2018, 11:26
Ответить
Сообщение за место того, чтобы получилось 14 часов 10 минут, получается 15 часов 10 минут.
исправил, в ячейкеКод
=ЕСЛИ(BB<0;AA+D3+((ЧАС(AA+D3)>12)-(ЧАС(AA)>13))/24;РАБДЕНЬ(AA;1+ОТБР(BB/"8:");ПР)+"9:"+ОСТАТ(BB;"8:")+(ОСТАТ(BB;"8:")>4/24)/24)
работы продолжается вечером до половины 7-ого.
тоже, вроде, само собой отпало (если нет - покажите в файле)Автор - krosav4ig Дата добавления - 13.12.2018 в 03:43
krosav4ig
Дата: Четверг, 13.12.2018, 11:32 |
Сообщение № 1730 | Тема: Рассчитать конец работы с учетом праздников (дата, время)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
krosav4ig
Дата: Четверг, 13.12.2018, 15:01 |
Сообщение № 1731 | Тема: Рассчитать конец работы с учетом праздников (дата, время)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
dude , а если в список праздников добавить 3.12.2018?
dude , а если в список праздников добавить 3.12.2018?krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение dude , а если в список праздников добавить 3.12.2018?Автор - krosav4ig Дата добавления - 13.12.2018 в 15:01
krosav4ig
Дата: Вторник, 18.12.2018, 10:29 |
Сообщение № 1732 | Тема: Добавление схемы в файл xml при импорте данных из Excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Если мне не изменяет память, то с помощью xslt можно и данные из excel/word 2007+ ввытянуть, и xsd в выходной xml впихнуть. Надо вспомнить где и как, по-моему, делал пподобное в altova mapforce
Если мне не изменяет память, то с помощью xslt можно и данные из excel/word 2007+ ввытянуть, и xsd в выходной xml впихнуть. Надо вспомнить где и как, по-моему, делал пподобное в altova mapforce krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Вторник, 18.12.2018, 10:32
Ответить
Сообщение Если мне не изменяет память, то с помощью xslt можно и данные из excel/word 2007+ ввытянуть, и xsd в выходной xml впихнуть. Надо вспомнить где и как, по-моему, делал пподобное в altova mapforce Автор - krosav4ig Дата добавления - 18.12.2018 в 10:29
krosav4ig
Дата: Среда, 19.12.2018, 23:54 |
Сообщение № 1733 | Тема: Добавление схемы в файл xml при импорте данных из Excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Вспомнить-то вспомнилось, но чтоб пример сделать все времени не хватает, думаю завтро вечерком дойдут до этого руки
Вспомнить-то вспомнилось, но чтоб пример сделать все времени не хватает, думаю завтро вечерком дойдут до этого руки krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Вспомнить-то вспомнилось, но чтоб пример сделать все времени не хватает, думаю завтро вечерком дойдут до этого руки Автор - krosav4ig Дата добавления - 19.12.2018 в 23:54
krosav4ig
Дата: Четверг, 20.12.2018, 23:48 |
Сообщение № 1734 | Тема: Добавление схемы в файл xml при импорте данных из Excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Для начала нужно провести махинацию с xsd - добавить [vba]Код
<xs:import namespace="http://www.w3.org/2001/XMLSchema"/>
[/vba] и в том месте, где должна отображаться схема прописать [vba]Код
<xs:element ref="xs:schema"/>
[/vba] это нужно для корректной разметки с использованием этой схемы (для трансформации эти декларации в xsd не нужны). Состряпал для примера проект в altova mapforce. Из проекта сгенерировал xslt шаблон. Входным файлом для трансформации служит xsd файл, путь к excel файлу передается через параметр SourceFilePath, папка для сохранения выходного xml файла передается через параметр DestFolder (по умолчанию=папке из SourceFilePath) и имя выходного xml файла передается через параметр DestFile (по умолчанию=имени файла из SourceFilePath). Текст, передаваемый в параметр должен быть заключен в одинарные кавычки. для трансформации используется бесплатный XSLT процессор ALTOVAXML 2013 после установки нужно добавить папку, в которую он установлен в переменную среды Path непосредственно для трансформации нужны только исходный xslx, xsd схема и xslt шаблон (в данном случае 3 файла) сделал 2 варианта обертки - bat[vba]Код
cd /d . AltovaXML -xslt2 xsl\main.xslt -in xsd\test1.xsd -param SourceFilePath='%~dp0src\test.xlsx' pause
[/vba]и vbs[vba]Код
Dim sFolder sFolder = Replace(WScript.ScriptFullName, WScript.ScriptName, "") With CreateObject("AltovaXML.Application").XSLT2 .InputXMLFileName = sFolder & "xsd\test1.xsd" .XSLFileName = sFolder & "xsl\main.xslt" .AddExternalParameter "SourceFilePath", "'" & sFolder & "src\test.xlsx'" .AddExternalParameter "DestFolder", "'" & sFolder & "'" .AddExternalParameter "DestFIle", "'test1.xml'" .Execute "" End With
[/vba] вместо InputXMLFileName можно использовать InputXMLFromText [vba]Код
Dim sFolder sFolder = Replace(WScript.ScriptFullName, WScript.ScriptName, "") With CreateObject("AltovaXML.Application").XSLT2 .InputXMLFromText = "<xs:schema id='NewDataSet' xmlns='' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'>" & vbCrLf & _ "<xs:element name='NewDataSet' msdata:IsDataSet='true' msdata:MainDataTable='OrderHeader' msdata:UseCurrentLocale='true'>" & vbCrLf & _ "<xs:complexType>" & vbCrLf & _ "<xs:choice minOccurs='0' maxOccurs='unbounded'>" & vbCrLf & _ "<xs:element name='OrderHeader'>" & vbCrLf & _ "<xs:complexType>" & vbCrLf & _ "<xs:sequence>" & vbCrLf & _ "<xs:element name='Id' type='xs:string' minOccurs='0' />" & vbCrLf & _ "<xs:element name='Cl' type='xs:string' minOccurs='0' />" & vbCrLf & _ "</xs:sequence>" & vbCrLf & _ "</xs:complexType>" & vbCrLf & _ "</xs:element>" & vbCrLf & _ "</xs:choice>" & vbCrLf & _ "</xs:complexType>" & vbCrLf & _ "</xs:element>" & vbCrLf & _ "</xs:schema>" .XSLFileName = sFolder & "xsl\main.xslt" .AddExternalParameter "SourceFilePath", "'" & sFolder & "src\test.xlsx'" .AddExternalParameter "DestFolder", "'" & sFolder & "'" .AddExternalParameter "DestFIle", "'test1.xml'" .Execute "" End With
[/vba] для раннего связывания в vba в папке с установленном ALTOVAXML есть файл AltovaXMLLib.tlb
Для начала нужно провести махинацию с xsd - добавить [vba]Код
<xs:import namespace="http://www.w3.org/2001/XMLSchema"/>
[/vba] и в том месте, где должна отображаться схема прописать [vba]Код
<xs:element ref="xs:schema"/>
[/vba] это нужно для корректной разметки с использованием этой схемы (для трансформации эти декларации в xsd не нужны). Состряпал для примера проект в altova mapforce. Из проекта сгенерировал xslt шаблон. Входным файлом для трансформации служит xsd файл, путь к excel файлу передается через параметр SourceFilePath, папка для сохранения выходного xml файла передается через параметр DestFolder (по умолчанию=папке из SourceFilePath) и имя выходного xml файла передается через параметр DestFile (по умолчанию=имени файла из SourceFilePath). Текст, передаваемый в параметр должен быть заключен в одинарные кавычки. для трансформации используется бесплатный XSLT процессор ALTOVAXML 2013 после установки нужно добавить папку, в которую он установлен в переменную среды Path непосредственно для трансформации нужны только исходный xslx, xsd схема и xslt шаблон (в данном случае 3 файла) сделал 2 варианта обертки - bat[vba]Код
cd /d . AltovaXML -xslt2 xsl\main.xslt -in xsd\test1.xsd -param SourceFilePath='%~dp0src\test.xlsx' pause
[/vba]и vbs[vba]Код
Dim sFolder sFolder = Replace(WScript.ScriptFullName, WScript.ScriptName, "") With CreateObject("AltovaXML.Application").XSLT2 .InputXMLFileName = sFolder & "xsd\test1.xsd" .XSLFileName = sFolder & "xsl\main.xslt" .AddExternalParameter "SourceFilePath", "'" & sFolder & "src\test.xlsx'" .AddExternalParameter "DestFolder", "'" & sFolder & "'" .AddExternalParameter "DestFIle", "'test1.xml'" .Execute "" End With
[/vba] вместо InputXMLFileName можно использовать InputXMLFromText [vba]Код
Dim sFolder sFolder = Replace(WScript.ScriptFullName, WScript.ScriptName, "") With CreateObject("AltovaXML.Application").XSLT2 .InputXMLFromText = "<xs:schema id='NewDataSet' xmlns='' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'>" & vbCrLf & _ "<xs:element name='NewDataSet' msdata:IsDataSet='true' msdata:MainDataTable='OrderHeader' msdata:UseCurrentLocale='true'>" & vbCrLf & _ "<xs:complexType>" & vbCrLf & _ "<xs:choice minOccurs='0' maxOccurs='unbounded'>" & vbCrLf & _ "<xs:element name='OrderHeader'>" & vbCrLf & _ "<xs:complexType>" & vbCrLf & _ "<xs:sequence>" & vbCrLf & _ "<xs:element name='Id' type='xs:string' minOccurs='0' />" & vbCrLf & _ "<xs:element name='Cl' type='xs:string' minOccurs='0' />" & vbCrLf & _ "</xs:sequence>" & vbCrLf & _ "</xs:complexType>" & vbCrLf & _ "</xs:element>" & vbCrLf & _ "</xs:choice>" & vbCrLf & _ "</xs:complexType>" & vbCrLf & _ "</xs:element>" & vbCrLf & _ "</xs:schema>" .XSLFileName = sFolder & "xsl\main.xslt" .AddExternalParameter "SourceFilePath", "'" & sFolder & "src\test.xlsx'" .AddExternalParameter "DestFolder", "'" & sFolder & "'" .AddExternalParameter "DestFIle", "'test1.xml'" .Execute "" End With
[/vba] для раннего связывания в vba в папке с установленном ALTOVAXML есть файл AltovaXMLLib.tlb krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Пятница, 21.12.2018, 00:16
Ответить
Сообщение Для начала нужно провести махинацию с xsd - добавить [vba]Код
<xs:import namespace="http://www.w3.org/2001/XMLSchema"/>
[/vba] и в том месте, где должна отображаться схема прописать [vba]Код
<xs:element ref="xs:schema"/>
[/vba] это нужно для корректной разметки с использованием этой схемы (для трансформации эти декларации в xsd не нужны). Состряпал для примера проект в altova mapforce. Из проекта сгенерировал xslt шаблон. Входным файлом для трансформации служит xsd файл, путь к excel файлу передается через параметр SourceFilePath, папка для сохранения выходного xml файла передается через параметр DestFolder (по умолчанию=папке из SourceFilePath) и имя выходного xml файла передается через параметр DestFile (по умолчанию=имени файла из SourceFilePath). Текст, передаваемый в параметр должен быть заключен в одинарные кавычки. для трансформации используется бесплатный XSLT процессор ALTOVAXML 2013 после установки нужно добавить папку, в которую он установлен в переменную среды Path непосредственно для трансформации нужны только исходный xslx, xsd схема и xslt шаблон (в данном случае 3 файла) сделал 2 варианта обертки - bat[vba]Код
cd /d . AltovaXML -xslt2 xsl\main.xslt -in xsd\test1.xsd -param SourceFilePath='%~dp0src\test.xlsx' pause
[/vba]и vbs[vba]Код
Dim sFolder sFolder = Replace(WScript.ScriptFullName, WScript.ScriptName, "") With CreateObject("AltovaXML.Application").XSLT2 .InputXMLFileName = sFolder & "xsd\test1.xsd" .XSLFileName = sFolder & "xsl\main.xslt" .AddExternalParameter "SourceFilePath", "'" & sFolder & "src\test.xlsx'" .AddExternalParameter "DestFolder", "'" & sFolder & "'" .AddExternalParameter "DestFIle", "'test1.xml'" .Execute "" End With
[/vba] вместо InputXMLFileName можно использовать InputXMLFromText [vba]Код
Dim sFolder sFolder = Replace(WScript.ScriptFullName, WScript.ScriptName, "") With CreateObject("AltovaXML.Application").XSLT2 .InputXMLFromText = "<xs:schema id='NewDataSet' xmlns='' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'>" & vbCrLf & _ "<xs:element name='NewDataSet' msdata:IsDataSet='true' msdata:MainDataTable='OrderHeader' msdata:UseCurrentLocale='true'>" & vbCrLf & _ "<xs:complexType>" & vbCrLf & _ "<xs:choice minOccurs='0' maxOccurs='unbounded'>" & vbCrLf & _ "<xs:element name='OrderHeader'>" & vbCrLf & _ "<xs:complexType>" & vbCrLf & _ "<xs:sequence>" & vbCrLf & _ "<xs:element name='Id' type='xs:string' minOccurs='0' />" & vbCrLf & _ "<xs:element name='Cl' type='xs:string' minOccurs='0' />" & vbCrLf & _ "</xs:sequence>" & vbCrLf & _ "</xs:complexType>" & vbCrLf & _ "</xs:element>" & vbCrLf & _ "</xs:choice>" & vbCrLf & _ "</xs:complexType>" & vbCrLf & _ "</xs:element>" & vbCrLf & _ "</xs:schema>" .XSLFileName = sFolder & "xsl\main.xslt" .AddExternalParameter "SourceFilePath", "'" & sFolder & "src\test.xlsx'" .AddExternalParameter "DestFolder", "'" & sFolder & "'" .AddExternalParameter "DestFIle", "'test1.xml'" .Execute "" End With
[/vba] для раннего связывания в vba в папке с установленном ALTOVAXML есть файл AltovaXMLLib.tlb Автор - krosav4ig Дата добавления - 20.12.2018 в 23:48
krosav4ig
Дата: Понедельник, 24.12.2018, 03:43 |
Сообщение № 1735 | Тема: Импорт из FoxPro 9.0
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
NotSoEXCELlentUser , может вам из excel подключаться к dbf и забирать данные запросом? Данные>Получить внешние данные>Из других источников>Из мастера подключения данных>Дополнительно>Далее> Microsoft Jet 4.0 OLE DB Provider>Далее выбрать dbf файл, из поля удалить имя файла, оставив только путь папки на вкладке Дополнительно установить галочку Read и снять Share deny none на вкладке Все в поле Extended properrties [vba]Код
DBASE IV;CharacterSet=65001
[/vba] вместо 65001 свою кодовую страницу
NotSoEXCELlentUser , может вам из excel подключаться к dbf и забирать данные запросом? Данные>Получить внешние данные>Из других источников>Из мастера подключения данных>Дополнительно>Далее> Microsoft Jet 4.0 OLE DB Provider>Далее выбрать dbf файл, из поля удалить имя файла, оставив только путь папки на вкладке Дополнительно установить галочку Read и снять Share deny none на вкладке Все в поле Extended properrties [vba]Код
DBASE IV;CharacterSet=65001
[/vba] вместо 65001 свою кодовую страницуkrosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Понедельник, 24.12.2018, 03:44
Ответить
Сообщение NotSoEXCELlentUser , может вам из excel подключаться к dbf и забирать данные запросом? Данные>Получить внешние данные>Из других источников>Из мастера подключения данных>Дополнительно>Далее> Microsoft Jet 4.0 OLE DB Provider>Далее выбрать dbf файл, из поля удалить имя файла, оставив только путь папки на вкладке Дополнительно установить галочку Read и снять Share deny none на вкладке Все в поле Extended properrties [vba]Код
DBASE IV;CharacterSet=65001
[/vba] вместо 65001 свою кодовую страницуАвтор - krosav4ig Дата добавления - 24.12.2018 в 03:43
krosav4ig
Дата: Понедельник, 24.12.2018, 03:47 |
Сообщение № 1736 | Тема: Как решить по другому
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Vladimir_Yan , вот тут все написаноАвтор - krosav4ig Дата добавления - 24.12.2018 в 03:47
krosav4ig
Дата: Вторник, 25.12.2018, 09:26 |
Сообщение № 1737 | Тема: Изменение подписей горизонтальной оси графика по условию
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Здравствуйте можно установить числовой формат подписей [vba]Код
[Красный][<1,5]Основной;Основной
[/vba]
Здравствуйте можно установить числовой формат подписей [vba]Код
[Красный][<1,5]Основной;Основной
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Вторник, 25.12.2018, 09:26
Ответить
Сообщение Здравствуйте можно установить числовой формат подписей [vba]Код
[Красный][<1,5]Основной;Основной
[/vba] Автор - krosav4ig Дата добавления - 25.12.2018 в 09:26
krosav4ig
Дата: Среда, 26.12.2018, 16:57 |
Сообщение № 1738 | Тема: выгрузка файлов в папку по гиперссылкам из Экслель
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
sboy , есть жеж FileCopy [vba]Код
Sub sdf() On Error Resume Next Dim cell As Range, sPath$, sNewPath$, sHref$ sPath = ThisWorkbook.Path & "\" sNewPath = sPath & "Отчет" & Format(Now, "dd.MM.yyyy hh_mm\\") MkDir sNewPath With ActiveSheet.UsedRange.Columns("K") For Each cell In Intersect(.Cells, .Offset(1)).SpecialCells(2, 23).SpecialCells(12).Cells sHref = cell.Hyperlinks(1).Address FileCopy sPath & sHref, sNewPath & Mid(sHref, InStrRev(sHref, "\") + 1) Next End With End Sub
[/vba]
sboy , есть жеж FileCopy [vba]Код
Sub sdf() On Error Resume Next Dim cell As Range, sPath$, sNewPath$, sHref$ sPath = ThisWorkbook.Path & "\" sNewPath = sPath & "Отчет" & Format(Now, "dd.MM.yyyy hh_mm\\") MkDir sNewPath With ActiveSheet.UsedRange.Columns("K") For Each cell In Intersect(.Cells, .Offset(1)).SpecialCells(2, 23).SpecialCells(12).Cells sHref = cell.Hyperlinks(1).Address FileCopy sPath & sHref, sNewPath & Mid(sHref, InStrRev(sHref, "\") + 1) Next End With End Sub
[/vba]krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение sboy , есть жеж FileCopy [vba]Код
Sub sdf() On Error Resume Next Dim cell As Range, sPath$, sNewPath$, sHref$ sPath = ThisWorkbook.Path & "\" sNewPath = sPath & "Отчет" & Format(Now, "dd.MM.yyyy hh_mm\\") MkDir sNewPath With ActiveSheet.UsedRange.Columns("K") For Each cell In Intersect(.Cells, .Offset(1)).SpecialCells(2, 23).SpecialCells(12).Cells sHref = cell.Hyperlinks(1).Address FileCopy sPath & sHref, sNewPath & Mid(sHref, InStrRev(sHref, "\") + 1) Next End With End Sub
[/vba]Автор - krosav4ig Дата добавления - 26.12.2018 в 16:57
krosav4ig
Дата: Пятница, 28.12.2018, 19:29 |
Сообщение № 1739 | Тема: Обработка таблицы excel для перевода в текстовый файл
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Beazehuginn , а хде директивы #NAME, #INDEX_LANGUAGE, #CONTENTS_LANGUAGE ? или вы собираетесь подключать к основному файлу через #INCLUDE? Хде закрывашка [/m]?нормально просматривается Блокнотом
а Notepad++ показывает, что файл нашпигован нуль-символами через каждый символ есть не совсем адекватная мысль по поводу трансформации с помощью xslt, но есть сомнения, что это возможно
Beazehuginn , а хде директивы #NAME, #INDEX_LANGUAGE, #CONTENTS_LANGUAGE ? или вы собираетесь подключать к основному файлу через #INCLUDE? Хде закрывашка [/m]?нормально просматривается Блокнотом
а Notepad++ показывает, что файл нашпигован нуль-символами через каждый символ есть не совсем адекватная мысль по поводу трансформации с помощью xslt, но есть сомнения, что это возможноkrosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Beazehuginn , а хде директивы #NAME, #INDEX_LANGUAGE, #CONTENTS_LANGUAGE ? или вы собираетесь подключать к основному файлу через #INCLUDE? Хде закрывашка [/m]?нормально просматривается Блокнотом
а Notepad++ показывает, что файл нашпигован нуль-символами через каждый символ есть не совсем адекватная мысль по поводу трансформации с помощью xslt, но есть сомнения, что это возможноАвтор - krosav4ig Дата добавления - 28.12.2018 в 19:29
krosav4ig
Дата: Воскресенье, 30.12.2018, 16:50 |
Сообщение № 1740 | Тема: проблемы с сортировкой при применении правил
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
еще вариант
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Воскресенье, 30.12.2018, 18:07
Ответить
Сообщение еще вариант Автор - krosav4ig Дата добавления - 30.12.2018 в 16:50