Народ тут екселевский файл при открытии выдает пароль, а говорят, что есть способы взломать этот файл как-то. Подскажите как, очень надо.
» Excel VBA
yandex (google) -> Advanced Office XP password Recovery+crack.
прога ломает - сам проверял.
Добавлено:
Вопрос для "Morlok":
ну во-первых книга их xlstart не невидимая - открывается вместе с любой запущеной;
во-вторых процедуры почему-то не используются - выдается сообщение "sub or function not defined" (хотя процедура - public).
прога ломает - сам проверял.
Добавлено:
Вопрос для "Morlok":
ну во-первых книга их xlstart не невидимая - открывается вместе с любой запущеной;
во-вторых процедуры почему-то не используются - выдается сообщение "sub or function not defined" (хотя процедура - public).
Если видимость выражается в отображении листов то это можно победить. Перед сохранением книги делаешь - меню "Window" и там есть пункт "Hide" после закрываешь Excel и сохраняешь при закрытии книгу. После при открытии ее не будет видно. Можно указать общее место для всех откуда открывать книги, в меню "Options" закладка "General" есть пункт открывать при запуске все файлы из папки, указываешь доступную для всех папку и все (надо будет конечно всех клиентов настроить но один раз).
А по поводу процедур ... При запуске процедуры из обще книги я указываю так Application.Run "ИмяФайлаСМакросом!ИмяПроцедуры"
А по поводу процедур ... При запуске процедуры из обще книги я указываю так Application.Run "ИмяФайлаСМакросом!ИмяПроцедуры"
Olive77
Большое спасибо за совет. Я не знал о таком объекте. Теперь проблема решена.
respite
Подобным образом я пытался решить задачу с самого начала. Но он к сожалению не подходит потому, что
Во-первых: Достаточно один раз кликнуть мышью по ячейке, ничего туда не вводя, как она станет удовлетворять условию Is Not Null.
Во-вторых: Таким как ты описал образом, поиск производится до первой удовлетворяющей этому условию ячейки, т.е. до первой пустой ячейки. А в строке может быть 1, 2, 3, 10 пустых ячеек подряд, а потом снова ячейки с данными. В описанном тобой варианте поиск прекратится после первой же найденной пустой ячейки в строке или столбце, стало быть диапазон заполненных ячеек будет найден некорректно.
Большое спасибо за совет. Я не знал о таком объекте. Теперь проблема решена.
respite
Подобным образом я пытался решить задачу с самого начала. Но он к сожалению не подходит потому, что
Во-первых: Достаточно один раз кликнуть мышью по ячейке, ничего туда не вводя, как она станет удовлетворять условию Is Not Null.
Во-вторых: Таким как ты описал образом, поиск производится до первой удовлетворяющей этому условию ячейки, т.е. до первой пустой ячейки. А в строке может быть 1, 2, 3, 10 пустых ячеек подряд, а потом снова ячейки с данными. В описанном тобой варианте поиск прекратится после первой же найденной пустой ячейки в строке или столбце, стало быть диапазон заполненных ячеек будет найден некорректно.
а каким образом можно в ячейке показать картинку ? Скажем эти картинки есть в других полях файла.
Скажите пожалуйста как решить задачу в Excel:
Процесс изготовления двух видов промышленных изделий состоит в последовательной обработке каждого из них на трех станках. Время использования этих станков для производства данных изделий ограничено 10 ч. в сутки. Время обработки и прибыль от продажи одного изделия приведены в таблице. Найдите оптимальные объемы производства изделий каждого вида.
Изделие | Время обработки 1 изделия, мин. | Удельная прибыль
Станок 1 Станок 2 Станок 3
1 10 6 6 2 долл.
2 5 20 15 3 долл.
Процесс изготовления двух видов промышленных изделий состоит в последовательной обработке каждого из них на трех станках. Время использования этих станков для производства данных изделий ограничено 10 ч. в сутки. Время обработки и прибыль от продажи одного изделия приведены в таблице. Найдите оптимальные объемы производства изделий каждого вида.
Изделие | Время обработки 1 изделия, мин. | Удельная прибыль
Станок 1 Станок 2 Станок 3
1 10 6 6 2 долл.
2 5 20 15 3 долл.
можно ли в cделать что-то вроде auto-comlete.. Т.е пользователь набирает в ячеке начало фразы (из некторнго ограниченого множества фраз), а эксель сам дополняет фразу.. как отловить событие набора каждого символа я не нашел - его вообще возможно отловить?
Люди подскажите пожалуйста как написать макрос VBA в Excel что бы выделить все ячейки на листе где есть заливка красным цветом.
Цитата:
Люди подскажите пожалуйста как написать макрос VBA в Excel что бы выделить все ячейки на листе где есть заливка красным цветом
Код:
ActiveCell.SpecialCells(xlLastCell).Select
end_row = ActiveCell.Row
end_col = ActiveCell.Column
If end_row = 2 Then end_row = 65536
If end_col = 1 Then end_col = 256
For I = 1 To end_row
For J = 1 To end_col
If Cells(I, J).Interior.ColorIndex = 7 Then
If Cells(I, J).Interior.Pattern = xlSolid Then
MsgBox "FOUND row-" + CStr(I) + " col-" + CStr(J)
End If
End If
Next J, I
Anatolij2005
Код:
Sub SelectCells()
Dim iCell As Range
Dim iUnionRange As Range
For Each iCell In Range("A1:Z100")
If iCell.Interior.ColorIndex = 3 Then
If iUnionRange Is Nothing Then
Set iUnionRange = Union(iCell, iCell)
Else
Set iUnionRange = Union(iUnionRange, iCell)
End If
End If
Next
If Not iUnionRange Is Nothing Then iUnionRange.Select
End Sub
Код:
Sub SelectCells()
Dim iCell As Range
Dim iUnionRange As Range
For Each iCell In Range("A1:Z100")
If iCell.Interior.ColorIndex = 3 Then
If iUnionRange Is Nothing Then
Set iUnionRange = Union(iCell, iCell)
Else
Set iUnionRange = Union(iUnionRange, iCell)
End If
End If
Next
If Not iUnionRange Is Nothing Then iUnionRange.Select
End Sub
Благодарю все прекрасно работает.Отдельное спасибо Junior Member и Aquamann77.
Здравствуйте! Подскажите, пожалуйста, почему при запуске макроса мне выдаёт- "ошибка компиляции" и "процедура слишком велика" . Что нужно сделать?
Помогите плз с задачей которую я указал выше. :/
Имеется Excel 2003 и файл xml, кусок файла приведен ниже:
...
<DOC>
<STROKA NAME="..." QUANTITY="..." PRICE="...">
<LAB NOM="..." TARA="..." QUANTITY="..." />
<LAB NOM="..." TARA="..." QUANTITY="..." />
</STROKA>
</DOC>
...
В xml я не силен, подскажите, как с помощью VBA вытащить значения NAME, QUANTITY и PRICE в отдельные столбцы?
...
<DOC>
<STROKA NAME="..." QUANTITY="..." PRICE="...">
<LAB NOM="..." TARA="..." QUANTITY="..." />
<LAB NOM="..." TARA="..." QUANTITY="..." />
</STROKA>
</DOC>
...
В xml я не силен, подскажите, как с помощью VBA вытащить значения NAME, QUANTITY и PRICE в отдельные столбцы?
Iv2
Код:
MyPath = "D:\"
MyName = Dir(MyPath, vbDirectory)
i = 1
Do While MyName <> ""
If MyName <> "." And MyName <> ".." Then
DoEvents
Open MyPath & MyName For Input As #1
Do While Not EOF(1)
DoEvents
Line Input #1, strTemp
If InStr(1, strTemp, "<STROKA", vbTextCompare) <> 0 Then
l1 = InStr(l1 + 1, strTemp, "NAME", vbTextCompare)
cells(i, 1) = Mid(strFile, l1 + 7, InStr(l1 + 1, strFile, """", vbTextCompare) - l1 - 7)
i=i+1
End If
Loop
Close #1
End If
MyName = Dir
Loop
Код:
MyPath = "D:\"
MyName = Dir(MyPath, vbDirectory)
i = 1
Do While MyName <> ""
If MyName <> "." And MyName <> ".." Then
DoEvents
Open MyPath & MyName For Input As #1
Do While Not EOF(1)
DoEvents
Line Input #1, strTemp
If InStr(1, strTemp, "<STROKA", vbTextCompare) <> 0 Then
l1 = InStr(l1 + 1, strTemp, "NAME", vbTextCompare)
cells(i, 1) = Mid(strFile, l1 + 7, InStr(l1 + 1, strFile, """", vbTextCompare) - l1 - 7)
i=i+1
End If
Loop
Close #1
End If
MyName = Dir
Loop
respite
Спасибо, но это несколько не то. В этом варианте все хорошо пока <STROKA> - это действительно одна строка.
При импорте в Excel возникает неудобство, связанное с тем,что QUANTITY присутствует и в <STROKA>, и в <LAB> (интересует только то, что находиться в <STROKA>). Может можно как-то создать программно свою xmlmap и используя ее вытащить только то, что необходимо? Или нужно использовать что-то другое?
Спасибо, но это несколько не то. В этом варианте все хорошо пока <STROKA> - это действительно одна строка.
При импорте в Excel возникает неудобство, связанное с тем,что QUANTITY присутствует и в <STROKA>, и в <LAB> (интересует только то, что находиться в <STROKA>). Может можно как-то создать программно свою xmlmap и используя ее вытащить только то, что необходимо? Или нужно использовать что-то другое?
Iv2
Я предложил вариант решения "в лоб". Что мешает проверять, закончился ли тэг и использовать какую-нибудь булевую переменную?
Или сначала прочитать в переменную весь файл, а потом прыгать не по строчкам, а по "<STROKA" -> "</STROKA>".
С другой стороны, можно поробовать просто открыть xml-файл Экселем, а потом уже произвести необходимые манипуляции с данными.
Я предложил вариант решения "в лоб". Что мешает проверять, закончился ли тэг и использовать какую-нибудь булевую переменную?
Или сначала прочитать в переменную весь файл, а потом прыгать не по строчкам, а по "<STROKA" -> "</STROKA>".
С другой стороны, можно поробовать просто открыть xml-файл Экселем, а потом уже произвести необходимые манипуляции с данными.
respite
Цитата:
Сейчас я реализовал этот вариант, но все же хотелось бы полнее использовать возможности excel-я по работе с xml. При текущем варианте сначала полностью импортируется xml-файл, а затем происходит обработка полученной таблицы. Почему бы сразу сразу не импортировать только то, что необходимо? Как это сделать я и хочу выяснить.
Цитата:
С другой стороны, можно поробовать просто открыть xml-файл Экселем, а потом уже произвести необходимые манипуляции с данными.
Сейчас я реализовал этот вариант, но все же хотелось бы полнее использовать возможности excel-я по работе с xml. При текущем варианте сначала полностью импортируется xml-файл, а затем происходит обработка полученной таблицы. Почему бы сразу сразу не импортировать только то, что необходимо? Как это сделать я и хочу выяснить.
УВАЖАЕМЫЕ,подскажите пожалуйста как решить следующую задачу:
если в ячейке записано,например,3862,то в какой-н другой (или в TextBox) должно отразится 3 по тысяче,1пятисотка,3сотни,1пятидесятка,1десятка,2 по рублю(или 1 двухрублевая).
Помогите!
если в ячейке записано,например,3862,то в какой-н другой (или в TextBox) должно отразится 3 по тысяче,1пятисотка,3сотни,1пятидесятка,1десятка,2 по рублю(или 1 двухрублевая).
Помогите!
Iv2
Если хочется элегантных решений, наверно, можно использовать Excel 2003 XML Tools: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_xl2003_ta/html/OfficeExcelXMLToolAddin.asp
Zelenodolec
Код: Dim lRest, lInt As Long
Dim iBanknotes As Variant
iBanknotes = Array(1000, 500, 100, 50, 10, 5, 2, 1)
lRest = 3862
For i = 0 To UBound(iBanknotes)
lInt = Fix(lRest / iBanknotes(i))
If lInt Then Debug.Print lInt & " * " & iBanknotes(i)
lRest = lRest - (lInt * iBanknotes(i))
Next i
Если хочется элегантных решений, наверно, можно использовать Excel 2003 XML Tools: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_xl2003_ta/html/OfficeExcelXMLToolAddin.asp
Zelenodolec
Код: Dim lRest, lInt As Long
Dim iBanknotes As Variant
iBanknotes = Array(1000, 500, 100, 50, 10, 5, 2, 1)
lRest = 3862
For i = 0 To UBound(iBanknotes)
lInt = Fix(lRest / iBanknotes(i))
If lInt Then Debug.Print lInt & " * " & iBanknotes(i)
lRest = lRest - (lInt * iBanknotes(i))
Next i
Киньте пожалуйста линк на описание "как кодируеться инфа в екселе"
А то надо запрограмить автоматическую обработку .xls файлов
на php, а ничего об этом не знаю (
т.е. хочеться узнать как "читаеться" xls, если его блокнотом открывать.
А то надо запрограмить автоматическую обработку .xls файлов
на php, а ничего об этом не знаю (
т.е. хочеться узнать как "читаеться" xls, если его блокнотом открывать.
Troitsky
Спасибо огромное
читаю..
Посоветовали обратится в этот раздел...
Подскажите плиз, как в Экселе реализовать такой вот прикол...
A B C D
Подскажите плиз, как в Экселе реализовать такой вот прикол...
A B C D
Wolfcrush
Если уж совсем примитивно, то тогда вот так:
Код: Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column = 1 Then Cells(1, 2) = Cells(ActiveCell.Row, 3)
End Sub
Если уж совсем примитивно, то тогда вот так:
Код: Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column = 1 Then Cells(1, 2) = Cells(ActiveCell.Row, 3)
End Sub
Нужно написать макрос для минимизации функции двух переменных (точнее, приведение ее к определенному значению). Недолго думая, решил использовать надстройку "Поиск решений". После автоматической записи макроса получил следующий код:
Код: Sub Макрос1()
SolverOk SetCell:="$G$13", MaxMinVal:=3, ValueOf:="96", ByChange:="$B$3,$D$3"
SolverSolve
End Sub
Код: Sub Макрос1()
SolverOk SetCell:="$G$13", MaxMinVal:=3, ValueOf:="96", ByChange:="$B$3,$D$3"
SolverSolve
End Sub
Народ, помогите дописать код:
Sub MSG()
Dim i As Integer
Dim z As Integer
Set w1 = ThisWorkbook.Worksheets("Work") 'Nazvanie lista, na kotorom vvodatsay dannye'
Set w2 = ThisWorkbook.Worksheets("DB") 'Nazvanie lista, kuda budem kopirovat'
Range("R[i]C1:R[i]C10").Select
Selection.Copy
End Sub
Может быть что-то не правильно. Буду очень благодарен за помощь.
Sub MSG()
Dim i As Integer
Dim z As Integer
Set w1 = ThisWorkbook.Worksheets("Work") 'Nazvanie lista, na kotorom vvodatsay dannye'
Set w2 = ThisWorkbook.Worksheets("DB") 'Nazvanie lista, kuda budem kopirovat'
Range("R[i]C1:R[i]C10").Select
Selection.Copy
End Sub
Может быть что-то не правильно. Буду очень благодарен за помощь.
OchkaritO
А что хоть скрипт делать должен???
А что хоть скрипт делать должен???
С одной страницы копировать данные на другую, при этом добавляя их. И все.
Данные постоянно из одних и тех же ячеек, вводятся с клавы.
Данные постоянно из одних и тех же ячеек, вводятся с клавы.
OchkaritO
Код:
Sub MSG()
Dim i As Integer
Dim z As Integer
Set w1 = ThisWorkbook.Worksheets("Work") 'Nazvanie lista, na kotorom vvodatsay dannye'
Set w2 = ThisWorkbook.Worksheets("DB") 'Nazvanie lista, kuda budem kopirovat'
i = 1 'cчетчик по источнику
j = 1 'счетчик по назначению
w1.Activate
' начало цикла по i тут
Range(Cells(i, 1), Cells(i, 10)).Copy w2.Cells(j, 1)
' если скопировали, то j=j+1
' конец цикла по i
End Sub
Код:
Sub MSG()
Dim i As Integer
Dim z As Integer
Set w1 = ThisWorkbook.Worksheets("Work") 'Nazvanie lista, na kotorom vvodatsay dannye'
Set w2 = ThisWorkbook.Worksheets("DB") 'Nazvanie lista, kuda budem kopirovat'
i = 1 'cчетчик по источнику
j = 1 'счетчик по назначению
w1.Activate
' начало цикла по i тут
Range(Cells(i, 1), Cells(i, 10)).Copy w2.Cells(j, 1)
' если скопировали, то j=j+1
' конец цикла по i
End Sub
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
Предыдущая тема: Стоит ли переходить с Билдера на Делфи?
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.