|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.07.2010, 10:40 | #1 |
Пользователь
Регистрация: 17.05.2010
Сообщений: 22
|
Проблема при создании xml
Здравствуйте Всем!!!
Пожалуйста помогите чем сможете разобраться!!! Есть макрос который с xls xml файл хочу получить в xml <field name="field_851_01_003_1">17.10.200 3</field> код который делает: Print #outFile, "<field" & big & ">" & c2UTF8(ws.Cells(rn, cn).Value) & "</field>" выдает ошибку в xml: A name contained an invalid character. Error processing resource 'file:///C:/Users/user/Desktop/Data/Data.xml'. Line 6, Po... "<field" name="field_851_01_004_2"">17.10.20 03</field> -------^ А полный код : Sub Export() Dim rn, rm, rCnt As Integer Dim cn, cCnt As Integer Dim outFile As Integer Dim myPath, big, sCnt As String Dim ws, ws2 As Worksheet Dim lastCell As Range Set ws = ActiveSheet Set ws2 = Sheets("Sheet1") Set lastCell = ws.Cells.SpecialCells(xlCellTypeLas tCell) rCnt = lastCell.Row cCnt = lastCell.Column myPath = ThisWorkbook.Path outFile = FreeFile Open myPath + "\Data.xml" For Output As #outFile Print #outFile, "<?xml version=""1.0"" encoding=""UTF-8"" ?>" Print #outFile, "<fno code=""851.00"" version=""11"" documentId=""100"" formatVersion=""1"">" For rn = 3 To rCnt If ws.Cells(rn, 1).Value = "" Then Exit For Print #outFile, "<form name=""form_851_01"">" Print #outFile, "<sheetGroup>" Print #outFile, "<sheet name=""851_00_01"">" 'Print #outFile, "<rowNumber>" & rn & "</rowNumber>" For cn = 1 To cCnt 'For rm = 1 To rCnt big = ws2.Cells(cn, 1).Value 'sCnt = ws.Cells(2, cCnt).Value 'Print #outFile, "<field" & cn & ">" & ws.Cells(rn, cn).Value & "</field" & cn & ">" Print #outFile, """<field""" & big & """>" & c2UTF8(ws.Cells(rn, cn).Value) & "</field>" '</field" & " " & big & ">" 'print #outFile, "<Field" 'Print #outFile, "<>" 'Next rm Next cn Print #outFile, "</sheet>" Print #outFile, "<sheet name=""851_00_02"">" 'Print #outFile, "<field" & cn & ">" & ws.Cells(rn, cn).Value & "</field" & cn & ">" 'Print #outFile, "<field" & cn & ">" & c2UTF8(ws.Cells(rn, cn).Value) & "</field" & cn & ">" Print #outFile, "</sheet>" Print #outFile, "</sheetGroup>" Print #outFile, "</form>" Next rn Print #outFile, "</fno>" Close #outFile End Sub Function c2UTF8(s As String) c2UTF8 = "" Dim k, j, ch, k1, k2, k3, m For k = 1 To Len(s) ch = Mid(s, k, 1) j = CLng(AscW(ch)) If j < 0 Then j = 65536 + j If j >= 128 Then If j < 2048 Then k1 = (Int(j / 64) + 128 + 64) k2 = (j Mod 64 + 128) c2UTF8 = c2UTF8 & Chr(k1) c2UTF8 = c2UTF8 & Chr(k2) Else k1 = (Int(j / (64 * 64)) + 128 + 64 + 32) m = j Mod (64 * 64) k2 = (Int(m / 64) + 128) k3 = (m Mod 64 + 128) c2UTF8 = c2UTF8 & Chr(k1) c2UTF8 = c2UTF8 & Chr(k2) c2UTF8 = c2UTF8 & Chr(k3) End If Else c2UTF8 = c2UTF8 & ch End If Next End Function |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема при создании файла (3CH) | Livores | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 26.05.2010 17:01 |
Проблема при создании подсказки (ToolTip'а) | Terazoid | Win Api | 0 | 31.03.2010 03:49 |
Проблема при создании компонента | Levsha100 | Компоненты Delphi | 3 | 02.05.2009 12:05 |
Проблема при создании БД | HAMMAN | БД в Delphi | 4 | 25.04.2008 08:44 |
проблема при создании отчета в QuickRep | Алёна | БД в Delphi | 2 | 16.11.2007 11:01 |