[Excel / VBA] 'String longer than 255 characters' *

Pagina: 1
Acties:
  • 783 views sinds 30-01-2008
  • Reageer

  • its_Muppet
  • Registratie: Juli 2003
  • Laatst online: 11-07 16:46
Ik heb een code, te weten:

code:
1
2
3
4
5
6
7
8
9
ActiveDocument.MailMerge.OpenDataSource Name:= _
        map$ + "\Deelnemers Groepsspringwedstrijd.xls" _
        , ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
        AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
        WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
        Format:=wdOpenFormatAuto, Connection:= _
        "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=" + map$ + "\Deelnemers Groepsspringwedstrijd.xls;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Je" _
        , SQLStatement:="SELECT * FROM `Merge$`", SQLStatement1:="", SubType:= _
        wdMergeSubTypeAccess

Dmv map$ maak ik het pad flexibel. Echter als ik de locatie van de map in sub-sub-submap X zet krijg ik een foutmelding:

Runtime error 9105
String longer than 255 characters.

Dit klopt wel, maar is dit te voorkomen door de name is instructie te wijzigen?

"Assumption is the mother of all f#ckups" Travis Dane (Under Siege 2: Dark Territory)


  • its_Muppet
  • Registratie: Juli 2003
  • Laatst online: 11-07 16:46
Modjes, TT is niet compleet [VB] RT error String langer dan 255 char te voorkomen?.

en ik denk dat dit eerder in programming hoort. Kan dit gewijzigd worden?

"Assumption is the mother of all f#ckups" Travis Dane (Under Siege 2: Dark Territory)


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Dit klopt wel, maar
Nee, aangezien je hoe dan ook geen pad van meer dan 255 chars wilt hebben. Als dat onverhoopt wel zo is, kan je eventueel misschien gebruik maken van de korte namen (zie dir /x).

Ik herstel de titel trouwens even en vul die wat aan: [EXCEL / VB] klopt niet omdat je VBA bedoelt en is niet zo duidelijk :P

edit: aha dat had je zelf ook al door. Gebruik voor dat soort zaken trouwens ajb de topicreport (het handje bovenaan). Dan zien we het sneller. En nee, Office automation is Officesuites en -software (en VB <> VBA).

[ Voor 23% gewijzigd door F_J_K op 09-11-2006 22:33 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • its_Muppet
  • Registratie: Juli 2003
  • Laatst online: 11-07 16:46
De map$ wordt nooit langer dan 255 char, daar windows dit doorgaans niet zal toestaan ivm bestandsindeling. Wel is het zo dat de compiler 'klaagt' over een instructie name:= blablabla die langer is dan 255 chars. Zaak blijft dat door de instructies die het OpenDataSource object gebruikt worden al een berg van de 255 chars opslokken. Is het wellicht mogelijk om de statements zoals bv. : ConfirmConversion:=, ReadOnly:=, LinkToSource:=, enz. op een andere manier te verwerken?

"Assumption is the mother of all f#ckups" Travis Dane (Under Siege 2: Dark Territory)


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Dat is allemaal geen deel van de string, dus maakt het niet langer dan 255 chars. Denk ik. Wat krijg je als output als je 'debug.print len(map$)' doet?

Maar het lijkt fout te gaan in je Connection parameter; zie de """" etc.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)