Russian in Rappelz

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Russian in Rappelz » Курилка » Вопрос к знатокам Excel и макросов.


Вопрос к знатокам Excel и макросов.

Сообщений 1 страница 10 из 10

1

У меня есть .xls файл на 4500 строк и 4500 картинок в форматах .jpg и .gif.
Вопрос: как при помощи макроса эти картинки можно вписать в экселевский файлик, дабы ручками не мучаться?
У меня есть пример макроса, но я не совсем понимаю как это работает:

Код:
Sub Макрос1()

For Counter = 2 To 5000
Set curCell = ActiveSheet.Cells(Counter, 9)
 Set curPath = ActiveSheet.Cells(Counter, 8)
 curCell.Select
 ActiveSheet.Pictures.Insert(curPath.Value).Select
 Selection.ShapeRange.Height = 80#
 Selection.ShapeRange.Width = 80#
Next Counter
 
End Sub

Кто может объяснить как это работает? Особенно интересуют строчки:

Код:
....
 Set curPath = ActiveSheet.Cells(Counter, 8)
....
 ActiveSheet.Pictures.Insert(curPath.Value).Select
....

Насколько понимаю, первая задает путь до картинки, а вторая загружает её. Но как-то странно это все задается.... :blink:

0

2

ну ты и спросил, :O

0

3

Неужели тут только знатоки раппелза есть? :)

0

4

э.... хм... я попробую у ребят спросить...

0

5

Спасибо. Мне уже автор этого чуда объяснил что к чему. :)

0

6

а то этот макрос делает?для чего он?

0

7

Берет путь до картинки из одной ячейки и вставляет эту картинку в другую ячейку. Потом изменяет размеры этой картинки.

0

8

Мне тут еще ответ дали, может понадобится:

Насколько я понимаю, на текущей страничке в одном столбце есть список путей к рисункам, а права от этого столбца они вставляются этим макросом)

Тебе, как я понимаю, надо сделать перебор файлов. Например, через FileScriptingObject, это у тебя будет путь, а дальше уже insert

Код:
 
Function ShowFolderList(folder)
   Dim fso, f, f1, fc, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(folder)
   Set fc = f.Files
   Counter = 1
   For Each f1 In fc
     Set CurCell = ActiveSheet.Cells(Counter, 1)
     CurCell.Select
     Path = folder & f1.Name
     ActiveSheet.Pictures.Insert(Path). _
        Select
     s = s & folder & f1.Name & vbCrLf
     Counter = Counter + 1
   Next
   ShowFolderList = s
End Function

Sub Main()
   Reestr = ShowFolderList("С:\ТвояПапкаСКартинками\")
   ActiveSheet.Cells(1, 2).Value = Reestr
End Sub

Приблизительно так, могу и ошибаться

0

9

10

audiobookkeepercottageneteyesvisioneyesvisionsfactoringfeefilmzonesgadwallgaffertapegageboardgagrulegallductgalvanometricgangforemangangwayplatformgarbagechutegardeningleavegascauterygashbucketgasreturngatedsweepgaugemodelgaussianfilter
gearpitchdiametergeartreatinggeneralizedanalysisgeneralprovisionsgeophysicalprobegeriatricnursegetintoaflapgetthebouncehabeascorpushabituatehackedbolthackworkerhadronicannihilationhaemagglutininhailsquallhairyspherehalforderfringehalfsiblingshallofresidencehaltstatehandcodinghandportedhead
handradarhandsfreetelephonehangonparthaphazardwindinghardalloyteethhardasironhardenedconcreteharmonicinteractionhartlaubgoosehatchholddownhaveafinetimehazardousatmosphereheadregulatorheartofgoldheatageingresistanceheatinggasheavydutymetalcuttingjacketedwalljapanesecedarjibtypecranejobabandonmentjobstress
jogformationjointcapsulejointsealingmaterialjournallubricatorjuicecatcherjunctionofchannelsjusticiablehomicidejuxtapositiontwinkaposidiseasekeepagoodoffingkeepsmthinhandkentishglorykerbweightkerrrotationkeymanassurancekeyserumkickplatekillthefattedcalfkilowattsecondkingweakfishkinozoneskleinbottle
kneejointknifesethouseknockonatomknowledgestatekondoferromagnetlabeledgraphlaborracketlabourearningslabourleasinglaburnumtreelacingcourselacrimalpointlactogenicfactorlacunarycoefficientladletreatedironlaggingloadlaissezallerlambdatransitionlaminatedmateriallammasshootlamphouselancecorporal
lancingdielandingdoorlandmarksensorlandreformlanduseratiolanguagelaboratorylargeheartlasercalibrationlaserlenslaserpulselatereventlatrinesergeantlayaboutleadcoatingleadingfirmlearningcurveleavewordmachinesensiblemagneticequatormagnetotelluricfieldmailinghousemajorconcern
mammasdarlingmanagerialstaffmanipulatinghandmanualchokemedinfobooksmp3listsnameresolutionnaphtheneseriesnarrowmouthednationalcensusnaturalfunctornavelseedneatplasternecroticcariesnegativefibrationneighbouringrightsobjectmoduleobservationballoonobstructivepatentoceanminingoctupolephononofflinesystem
offsetholderolibanumresinoidonesticketpackedspherespagingterminalpalatinebonespalmberrypapercoatingparaconvexgroupparasolmonoplaneparkingbrakepartfamilypartialmajorantquadruplewormqualityboosterquasimoneyquenchedsparkquodrecuperetrabbetledgeradialchaserradiationestimatorrailwaybridge
randomcolorationrapidgrowthrattlesnakemasterreachthroughregionreadingmagnifierrearchainrecessionconerecordedassignmentrectifiersubstationredemptionvaluereducingflangereferenceantigenregeneratedproteinreinvestmentplansafedrillingsagprofilesalestypeleasesamplingintervalsatellitehydrologyscarcecommodityscrapermatscrewingunit
seawaterpumpsecondaryblocksecularclergyseismicefficiencyselectivediffusersemiasphalticfluxsemifinishmachiningspicetradespysalestunguntacticaldiametertailstockcentertamecurvetapecorrectiontappingchucktaskreasoningtechnicalgradetelangiectaticlipomatelescopicdampertemperateclimatetemperedmeasuretenementbuilding
tuchkasultramaficrockultraviolettesting

0


Вы здесь » Russian in Rappelz » Курилка » Вопрос к знатокам Excel и макросов.