Questione : tipo vba di discussione del byref di errore del disadattamento

non sure come risolvere questo error.
I avere una funzione in un modulo standard, quello ottiene i valori e denomina il metodo adatto del codice categoria per fare alcuno che proceda ed allora restituire un value.

the che CWValuein variabile è risposta del highlighted
a rapidamente sarebbe in anticipo molto appreciated.

regards
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
537:
538:
539:
540:
541:
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
581:
582:
583:
584:
585:
586:
587:
588:
589:
590:
591:
592:
593:
594:
595:
596:
597:
598:
599:
600:
601:
602:
603:
604:
605:
606:
607:
608:
609:
610:
611:
612:
613:
614:
615:
616:
617:
618:
619:
620:
621:
622:
623:
624:
625:
626:
627:
628:
629:
630:
631:
632:
633:
634:
635:
636:
637:
638:
639:
640:
641:
642:
643:
644:
645:
646:
647:
648:
649:
650:
651:
652:
653:
654:
655:
656:
657:
658:
659:
660:
661:
662:
663:
664:
665:
666:
667:
668:
669:
670:
671:
672:
673:
674:
675:
676:
677:
678:
679:
680:
681:
682:
683:
684:
685:
686:
687:
688:
689:
690:
691:
692:
693:
694:
695:
696:
697:
698:
699:
700:
701:
702:
703:
704:
705:
706:
707:
708:
709:
710:
711:
712:
713:
714:
715:
716:
717:
718:
719:
720:
721:
722:
723:
724:
725:
726:
727:
728:
729:
730:
731:
732:
733:
734:
735:
736:
737:
738:
739:
740:
741:
742:
743:
744:
745:
746:
747:
748:
749:
750:
751:
752:
753:
754:
755:
756:
757:
758:
759:
760:
761:
762:
763:
764:
765:
766:
767:
768:
769:
770:
771:
772:
funzione >Public notpretty CreateTestClass (di ClientValueIn variante così, CWValueIn " del class= " del id= " codeSnippet805276 del
 0 allora
contatore = contro + 1000



Altrimenti



Concluder se

Se InStr (StrCWEngineIn, StrClientEngineIn) > 0 allora
contatore = contro + 1000
Altrimenti

Concluder se

'***************************************************************************

'controllare la famiglia
'' cw instring di andata al cliente
Se FamilyInstr (StrCWEngineIn, StrClientEngineIn) = "" allora


Altrimenti

contatore = contro + 100
Concluder se




'***************************************************************************
'controllare i typos

StrTypo = DecodeEngine (StrCWEngineIn, StrClientEngineIn)
Se StrTypo = “typo„ allora

    contatore = contro + 10

Altrimenti
'non fare niente
Concluder se


'****************************************************************************
'ottenere il segno del posto del carattere

intcount = CharacterRank (StrCWEngineIn, StrClientEngineIn)

contatore = contro + intcount

'***************************************************************************

'' ***************************************************************************
'' Prova tecnica bhp
'Se CurrentProject.AllForms (“conduttura„) .IsLoaded allora
'
'BHPIn = [forme]! [Conduttura]! [CALC BHP]
'
'
'Altrimenti
'
'
'Concluder se

'la conclusione di confronta
Concluder se


Concluder se


GetEngineRank = contro * 100

Funzione di conclusione
Funzione pubblica CharacterRank (StrEng1 come stringa, strEng2 come stringa) come lungamente
Interruttore fioco come cronometro

lIndex fioco come lungamente
lLoopPosition fioco come lungamente
lCharacterPosition fioco come lungamente
iCounter fioco come lungamente
StrWantedCharacter fioco come stringa
StrTemp fioco come stringa
'Regolar interruttore = nuovo cronometro
'sw.StartTimer


'riferir alla più breve stringa come i cicli di comandi di questa lunghezza e senso del instr
Se Len (strEng2) < Len (StrEng1) allora
    'scambiarli
    strEng2 = strEng2 + StrEng1
    StrEng1 = andato (strEng2, Len (strEng2) - Len (StrEng1))
    strEng2 = di destra (strEng2, Len (strEng2) - Len (StrEng1))

Concluder se

'ottenere il più breve len
lIndex = Len (StrEng1)
'lo strtemp diventa uguale alla stringa più lunga poichè questo è quello che vogliamo ridurrci per ogni ciclo
StrTemp = strEng2

'ciclo intorno a stringa
            Per il lLoopPosition = 1 a lIndex
               'ottenere il carattere specifico che inizia all'inizio della stringa
               StrWantedCharacter = metà di (StrEng1, lLoopPosition, 1)
               'ottenere la posizione del nostro carattere dalla stringa più lunga
               lCharacterPosition = InStr (strEng2, StrWantedCharacter)
               'il carattere ha trovato in stringa più lunga
               Se <> 0 di InStr (StrTemp, StrWantedCharacter) allora
                    'rimuovere il carattere dalla stringa del temp
                    StrTemp = sostituisce (StrTemp, metà di (strEng2, lCharacterPosition, 1), "", 1)
                    'incrementare il contatore
                    iCounter = iCounter + 1
               Concluder se
           lLoopPosition seguente





'processtime = sw.EndTimer & “millisecondi„
'Debug.Print sw.EndTimer
'iCounter di Debug.Print
CharacterRank = iCounter



Funzione di conclusione
Funzione pubblica NomRank (StrClient come stringa, CWNomIn come doppio) come numero intero


ValueIn fioco come doppio
StrReturnedFromClientString fioco come stringa

Se IsNull (CWNomIn) allora
    ValueIn = 0
Altrimenti
    ValueIn = CWNomIn
Concluder se

StrReturnedFromClientString = GetCC (StrClient)
Se StrComp (CStr (ValueIn), StrReturnedFromClientString, 1) = falso allora
    NomRank = 1
    Uscire la funzione
Concluder se


NomRank = 0
Funzione di conclusione




Funzione pubblica KWRank (di ClientIn variante così, CWKWIn quanto lungamente, varianceIn facoltativo come numero intero) come numero intero

ValueMin fioco come lungamente
ValueMax fioco come lungamente
ValueIn fioco come lungamente
ValueCWIn fioco come lungamente
Oscurare A come lungamente

ValueCWIn = CWKWIn

Se (varianceIn) = 0 allora

    ValueMin = ValueCWIn - 5
    ValueMax = ValueCWIn + 5
Altrimenti

    ValueMin = ValueCWIn - varianceIn
    ValueMax = ValueCWIn + varianceIn

Concluder se


    Se ValueCWIn = ClientIn allora
       KWRank = 2
       Uscire la funzione
    Altrimenti
      Per A = ValueMin a ValueMax
        Se ClientIn = A allora
           KWRank = 1
           Uscire la funzione
        Concluder se
      Dopo A
    Concluder se
    
KWRank = 0

Funzione di conclusione

Funzione pubblica BhpRank (di ClientIn variante così, CalcBHP quanto lungamente, varianceIn facoltativo come numero intero) come numero intero

ValueMin fioco come lungamente
ValueMax fioco come lungamente
ValueIn fioco come lungamente
ValueCWIn fioco come lungamente
Oscurare A come lungamente

ValueCWIn = CalcBHP

Se (varianceIn) = 0 allora

    ValueMin = ValueCWIn - 5
    ValueMax = ValueCWIn + 5
Altrimenti

    ValueMin = ValueCWIn - varianceIn
    ValueMax = ValueCWIn + varianceIn

Concluder se


    Se ValueCWIn = ClientIn allora
       BhpRank = 2
       Uscire la funzione
    Altrimenti
      Per A = ValueMin a ValueMax
        Se ClientIn = A allora
           BhpRank = 1
           Uscire la funzione
        Concluder se
      Dopo A
    Concluder se
    
BhpRank = 0

Funzione di conclusione



Funzione pubblica ValveRank (di ClientStr variante così, CWCylindersIn quanto numero intero)
ValueIn fioco come numero intero
ClientValveCount fioco come lungamente
CylinderCountIn fioco come lungamente

 Se IsNull (CWCylindersIn) allora
    ValueIn = 0
            
 Altrimenti
    CylinderCountIn = CWCylindersIn
   
 Concluder se


 
 Se IsNull ([forme]! [conduttura]! [VALVOLE PER CILINDRO]. Valore) allora
    ValueIn = 0
            
 Altrimenti
    ValueIn = [forme]! [conduttura]! [VALVOLE PER CILINDRO]. Valore * CylinderCountIn
     ClientValveCount = GetNumValves (ClientStr)
 Concluder se

Se ValueIn = ClientValveCount e ValueIn > 0 allora
    ValveRank = 1
    Uscire la funzione
Concluder se

 ValveRank = 0



Funzione di conclusione

Funzione GetNumValves (testo)
    Posizione fioca come numero intero
    Fare
        posizione = InStr (posizione + 1, testo, “V„)
        Se posizione > 2 allora
            Se metà di (testo, posizione - 2, 2) come “##„ allora
                GetNumValves = Val (metà di (testo, posizione - 2, 2))
                Uscire la funzione
            Concluder se
        Concluder se
        Se posizione > 1 allora
            Se metà di (testo, posizione - 1, 1) come “#„ allora
                GetNumValves = Val (metà di (testo, posizione - 1, 1))
                Uscire la funzione
            Concluder se
        Concluder se
    Collegare mentre posizione
    GetNumValves = 0
Funzione di conclusione


Funzione pubblica FuelRank (StrClient, CWFuelIn come stringa) come lungamente
ValueIn fioco come stringa
Se IsNull (CWFuelIn) allora
    ValueIn = ""
Altrimenti
    ValueIn = CWFuelIn
Concluder se

Se StrComp (lasciato (ValueIn, 1), StrClient, 1) = falso allora
    FuelRank = 1
    Uscire la funzione
Concluder se

 FuelRank = 0

Funzione di conclusione
Funzione pubblica DoorRank (ClientStr come stringa, CWDoorsIn come numero intero) come numero intero

ValueIn fioco come numero intero
ClientDoorCount fioco come lungamente

 Se IsNull (CWDoorsIn) allora
    ValueIn = 0
            
 Altrimenti
    ValueIn = CWDoorsIn
     ClientDoorCount = GetDoors (ClientStr)
 Concluder se

Se ValueIn = ClientDoorCount e ValueIn > 0 allora
    DoorRank = 1
    Uscire la funzione
Concluder se

 DoorRank = 0

Funzione di conclusione
Funzione pubblica TransmissionRank (ClientStr come stringa, CWTransmissionIn come stringa)
ValueIn fioco come stringa




 
 Se IsNull (CWTransmissionIn) allora
    ValueIn = ""
            
 Altrimenti
    ValueIn = CWTransmissionIn
     
 Concluder se

Se StrComp (ValueIn, ClientStr, 1) = falso allora
    TransmissionRank = 1
    Uscire la funzione
Concluder se

TransmissionRank = 0

Funzione di conclusione
Funzione GetDoors (ClientStr come stringa) come numero intero
Regex fioco come oggetto
Fiammifero fioco come oggetto

    Regolare il regex = CreateObject (“vbscript.regexp„)
    'filtrare per i numeri e “la d separati da spazio„
    regex. Modello = “[0-9] + d„

    'spegnere il caso
    regex.IgnoreCase = allineano
    'generare l'oggetto

    Regolare il fiammifero = il regex. Eseguire (ClientStr)
    'fissare o ottenere il valore
    Se fiammifero. Conteggio > 0 allora GetDoors = disposizioni (Val (fiammifero (0)))
    'oggetto di uccisione
    Regolare il regex = niente
Concludere la funzione

Funzione pubblica CCRank (di ClientIn variante così, CWCCIn quanto lungamente, varianceIn facoltativo come numero intero) come numero intero

ValueMin fioco come lungamente
ValueMax fioco come lungamente
ValueIn fioco come lungamente
ValueCWIn fioco come lungamente

Oscurare A come lungamente



ValueCWIn = CWCCIn

Se (varianceIn) = 0 allora

    ValueMin = ValueCWIn - 5
    ValueMax = ValueCWIn + 5
Altrimenti

    ValueMin = ValueCWIn - varianceIn
    ValueMax = ValueCWIn + varianceIn

Concluder se


    Se ValueCWIn = ClientIn allora
       CCRank = 2
       Uscire la funzione
    Altrimenti
      Per A = ValueMin a ValueMax
        Se ClientIn = A allora
           CCRank = 1
           Uscire la funzione
        Concluder se
      Dopo A
    Concluder se

CCRank = 0
Funzione di conclusione
Funzione pubblica BhpStrRank (StrClient come stringa, CWBhp come lungamente, varianza facoltativa come numero intero)
StrCientln fioco come stringa
ValueMin fioco come lungamente
ValueMax fioco come lungamente
ValueCWIn fioco come lungamente
Oscurare A come lungamente
Oscurare la B come lungamente
Oscurare StrTemp come stringa
Oscurare StrTemp2 come stringa
Oscurare StrArray () come stringa
Oscurar contro come numero intero
Oscurare il teststr come stringa


Se IsNull (ValueCWIn) allora
    ValueCWIn = 0
            
Altrimenti
    ValueCWIn = CWBhp
            
Concluder se

Se (varianceIn) = 0 allora

    ValueMin = ValueCWIn - 5
    ValueMax = ValueCWIn + 5
Altrimenti

    ValueMin = ValueCWIn - varianceIn
    ValueMax = ValueCWIn + varianceIn

Concluder se

Se IsNull (ValueCWIn) = allinea o ValueCWIn = 0 allora

Altrimenti
    Se <= 0 di Len (StrClient) o IsNull (StrClient) allora
    KWStrRank = 0
    Uscire la funzione
    Altrimenti
        Se ValueCWIn = StrClient allora
        BhpStrRank = 2
                       
                        
        Uscire la funzione
            
        Altrimenti
        StrTemp = SplitNumeralandText (StrClient)
        
            StrTemp2 = RegExpReplace (StrTemp, “[^0-9]„, “")
            StrArray = ha spaccato (StrTemp2)
         
            
            Per A = LBound (StrArray ()) A UBound (StrArray ())
                Per B = ValueMin a ValueMax
                    Se (StrComp (StrArray (A), CStr (B), 1) = falso) allora
                       
                            BhpStrRank = 1
                       
                        
                        Uscire la funzione
                    Concluder se
                    B seguente
            Dopo A
        Concluder se
        
   Concluder se
Concluder se


BhpStrRank = 0
Funzione di conclusione

Funzione pubblica KWStrRank (StrClient come stringa, CWKw come lungamente, varianza facoltativa come numero intero)
StrCientln fioco come stringa
ValueMin fioco come lungamente
ValueMax fioco come lungamente
ValueCWIn fioco come lungamente
Oscurare A come lungamente
Oscurare la B come lungamente
Oscurare StrTemp come stringa
Oscurare StrTemp2 come stringa
Oscurare StrArray () come stringa
Oscurar contro come numero intero
Oscurare il teststr come stringa


Se IsNull (ValueCWIn) allora
    ValueCWIn = 0
            
Altrimenti
    ValueCWIn = CWKw
            
Concluder se

Se (varianceIn) = 0 allora

    ValueMin = ValueCWIn - 5
    ValueMax = ValueCWIn + 5
Altrimenti

    ValueMin = ValueCWIn - varianceIn
    ValueMax = ValueCWIn + varianceIn

Concluder se

Se IsNull (ValueCWIn) = allinea o ValueCWIn = 0 allora

Altrimenti
    Se <= 0 di Len (StrClient) o IsNull (StrClient) allora
    KWStrRank = 0
    Uscire la funzione
    Altrimenti
        Se ValueCWIn = StrClient allora
        KWStrRank = 2
                       
                        
        Uscire la funzione
            
        Altrimenti
        StrTemp = SplitNumeralandText (StrClient)
        
            StrTemp2 = RegExpReplace (StrTemp, “[^0-9]„, “")
            StrArray = ha spaccato (StrTemp2)
         
            
            Per A = LBound (StrArray ()) A UBound (StrArray ())
                Per B = ValueMin a ValueMax
                    Se (StrComp (StrArray (A), CStr (B), 1) = falso) allora
                       
                            KWStrRank = 1
                       
                        
                        Uscire la funzione
                    Concluder se
                    B seguente
            Dopo A
        Concluder se
        
   Concluder se
Concluder se


KWStrRank = 0



Funzione di conclusione

getTechDetail pubblico di funzione (StrClient come stringa, TechSpec come stringa, varianza facoltativa come numero intero) come numero intero
'StrCientln fioco come stringa
'ValueMin fioco come lungamente
'ValueMax fioco come lungamente
'ValueIn fioco come lungamente
'Oscurare A come lungamente
'B fioca come lungamente
'StrTemp fioco come stringa
'StrTemp2 fioco come stringa
'StrArray fioco () come stringa
'Contatore fioco come numero intero
'Teststr fioco come stringa

Se StrClient = "" o “0„ allora


Altrimenti



Se (varianza) = 0 allora varianze = 5

 
       

     
        
        

 



Se IsNull (ValueIn) = allinea o ValueIn = 0 allora

Altrimenti
    Se <= 0 di Len (StrClient) o IsNull (StrClient) allora
    getTechDetail = 0
    Uscire la funzione
    Altrimenti
        Se ValueIn = StrClient allora
        getTechDetail = 2
                       
                        
        Uscire la funzione
            
        Altrimenti
        StrTemp = SplitNumeralandText (StrClient)
        
            StrTemp2 = RegExpReplace (StrTemp, “[^0-9]„, “")
            StrArray = ha spaccato (StrTemp2)
            ValueMin = ValueIn - varianza
            ValueMax = ValueIn + varianza
            
            Per A = LBound (StrArray ()) A UBound (StrArray ())
                Per B = ValueMin a ValueMax
                    Se (StrComp (StrArray (A), CStr (B), 1) = falso) allora
                       
                            getTechDetail = 1
                       
                        
                        Uscire la funzione
                    Concluder se
                    B seguente
            Dopo A
        Concluder se
        
   Concluder se
Concluder se
Concluder se

getTechDetail = 0
Funzione di conclusione
Funzione pubblica BodyRank (ClientStr come stringa)
ValueIn fioco come stringa




 
 Se IsNull ([forme]! [conduttura]! [Ente comune altrimenti detto CW]. Valore) allora
    ValueIn = ""
            
 Altrimenti
    ValueIn = [forme]! [conduttura]! [Ente comune altrimenti detto CW]. Valore
     
 Concluder se

Se StrComp (ValueIn, ClientStr, 1) = falso allora
    BodyRank = 1
    Uscire la funzione
Concluder se

BodyRank = 0

Funzione di conclusione
class= del

Risposta : tipo vba di discussione del byref di errore del disadattamento

Gli assomigliare di I t al vostro problema è che avete definito CWValueIn mentre la variante & nelle funzioni sta prevedendo sempre un lungo.
Esempio KWRank (di ClientIn variante così, CWKWIn quanto lungamente.

Gary
Altre soluzioni  
 
programming4us programming4us